У меня есть простая структура таблицы, где каждая строка элемента имеет статус.Я ищу запрос для каждого статуса и подсчитываю, сколько элементов используют это состояние.Возможно, что не все статусы будут использоваться, поэтому мне нужно учитывать нулевые значения и счетчики нулей.
Моя структура таблиц выглядит следующим образом:
Table: Items
Id, State_id, Text, Status
Table: States
State_id, Name
Это то, что у меня есть:
SELECT statealias1_.State_id as y0_,
count(this_.Id) as y1_
FROM Items this_
right join States statealias1_
on this_.State_id = statealias1_.State_id
WHERE (not (statealias1_.State_id in (5, 6, 7, 8))
or statealias1_.State_id is null)
and (this_.Status = 'InProgress'
or this_.Status is null)
GROUP BY statealias1_.State_id;
Этот запрос работает, когда включены все состояния (есть 8 состояний, и я исключаю вторую половину).Я не уверен, почему это не возвращает мне все состояний со счетом независимо от нуля, поскольку я, кажется, включаю нули.