
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
29.04.2014, 15:24:46
|
|||
|---|---|---|---|
|
|||
Как добавить в запрос поле с количеством строк из другого поля:? |
|||
|
#18+
Есть таблица actions id name type_id date 1 action_1 1 2013 2 action_2 2 2013 3 action_3 1 2013 4 action_4 2 2014 5 action_5 4 2014 Есть таблица types id name 1 type_1 2 type_2 3 type_3 4 type_4 5 type_5 Есть таблица users id name 1 user_1 2 user_2 3 user_3 4 user_4 5 type_5 И есть таблица action_users которая закрепляет за акшнми юзеров id user_id action_id 1 1 1 2 2 1 3 3 2 4 4 3 5 5 3 Нужен запрос, который выберет строки таблицы type, всех actions where date = 2013, но чтобы в конце каждой строки было добавлено поле например all_users в котором бы прописывалось число всех юзеров, прикрепленных к actions данных types Такое реально вообще? Взять строки можно понятно как: SELECT * FROM types LEFT JOIN actions ON (types.id = actions.type_id) WHERE actions.date='2013' GROUP BY types.name Появится что типа: id name id name type_id date 1 type_1 1 action_1 1 2013 2 type_2 2 action_2 2 2013 А нужно: id name id name type_id date all_users 1 type_1 1 action_1 1 2013 2 2 type_2 2 action_2 2 2013 1 Чувствую копать нужно к внутреннему запросу поиска count(*) кто шарит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.04.2014, 16:05:07
|
|||
|---|---|---|---|
Как добавить в запрос поле с количеством строк из другого поля:? |
|||
|
#18+
попробуйте еще 1 left join примерно как-то так: SELECT count(*), t1.id, t1.type, .... FROM types t1 LEFT JOIN actions t2 ON (t1.id = t2.type_id) LEFT JOIN action_users t3 ON (t3.action_id = t1.type_id) WHERE actions.date='2013' group by t3.action_id запрос я не проверял, но идея в этом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1834914]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 302ms |

| 0 / 0 |
