|
|
|
Нужна помощь в составлении SQL-запроса
|
|||
|---|---|---|---|
|
#18+
Добрый день. Помогите составить SQL-запрос. Есть две таблицы - таблица пользователей users и таблица задач со статусами tasks. В таблице tasks есть поле status, которое принимает значение от 1 до 7 с разными статусами. Нужно вывести данные в разрезе пользователей по строкам, а в столбцах отдельным столбцом количество задач в разрезе статусов, т.е. первый столбец - количество задач в статусе 1 , второй в статусе 2 и т.д. SELECT u.users_id,u.name,count(t.status) as status1,count(t.status) as status2 FROM users u JOIN tasks t ON u.users_id=t.users_id GROUP BY u.name Но этот запрос выводит общее количество статусов в разрезе пользователя. Где отсечь WHERE t.status=1 (t.status=2, t.status=3 и т.д.) не могу сообразить. По идее через UNION надо.... но тоже не получилось. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2015, 12:06:48 |
|
||
|
Нужна помощь в составлении SQL-запроса
|
|||
|---|---|---|---|
|
#18+
plosion87, по идее тут CASE + GROUP BY ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2015, 12:08:02 |
|
||
|
Нужна помощь в составлении SQL-запроса
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2015, 12:09:07 |
|
||
|
|

start [/forum/topic.php?fid=47&gotonew=1&tid=1833185]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
9ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 187ms |
| total: | 314ms |

| 0 / 0 |
