Я объединяю две таблицы task
и taskdetail
select t.task_id,td.task_id,td.task_detail_id,td.status
from task t , task_detail td
where td.task_id=t.task_id and td.status='ACTIVE'
Возвращается 5 записей.Но для task
id 5 есть два taskdetail
, которые являются активными, поэтому я хочу иметь еще один столбец как totalactive
, который должен иметь сумму значений всех ACTIVE
для задачи.Для этого я добавил:
SUM(CASE WHEN sd.status='ACTIVE' THEN 1 else 0 END) as totalactive and ``GROUP BY td.task_detail_id
но он возвращает 1 во всех случаях.
Результат
+---+---------+---------+----------------+----------+-------------+
|No | task_id | task_id | task_detail_id | status | totalactive |
+---+---------+---------+----------------+----------+-------------+
| 1 | 2 | 2 | 3 | ACTIVE | 1 |
| 2 | 3 | 3 | 5 | ACTIVE | 1 |
| 3 | 4 | 4 | 6 | ACTIVE | 1 |
| 4 | 5 | 5 | 8 | ACTIVE | 1 |
| 5 | 5 | 5 | 9 | ACTIVE | 1 |
+---+---------+---------+----------------+----------+-------------+
поскольку есть 8,9
два task detail
против одной задачи 5
я хочу иметь счет 2 в последней строке