私は各項目の行がステータスを持つ簡単なテーブル構造を持っています。私が探しているのは、各ステータスを照会し、そのステートを使用するアイテムの数を数えることです。すべてのステータスが使用されるわけではない可能性があるので、NULLとゼロカウントを考慮する必要があります。次のようにフィルタright join data where句
私のテーブル構造は次のとおりです。
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つの状態があるが含まれており、私は2番目を除いていたときに、このクエリは動作しますハーフ)。なぜ私はこれが返されないのか分かりませんすべて州はNULLに関係なくcountsで状態を保持しています。
私の謝罪を。 'State_id'と' Status'は2つの別々の列です。私はそれに応じて私の質問を変更しました。 – Nosila
'Status'が 'InProgress'になるようにフィルタリングを開始すると、使用されていない状態は返されません。 – Nosila
残念ながら、私は今、どこにnullsを含めることができないのですか?( – Nosila