カウントを含めるためにサブクエリを使用してSQLクエリを作成しました。カウントが0で、0をフィルタリングしようとすると、0がNULLに変換されて行が保持され、その逆もあります。結果は、カウントを含める目的であった0を除外できないということです。COUNT(var)を持つSQLサブクエリは0からNULLになります
SELECT distinct
a
,b
,
(SELECT
count(id)
FROM seq_stud
WHERE scs.SequenceID = seq_stud.SequenceID
and seq_stud.EndDate is null
HAVING count(id) <> 0
) As t1
FROM sp
INNER JOIN p on sp.ProgramID = p.ProgramID
...etc.
なぜこれが起こっているのか、どのように0カウントを除外できるのか誰にも分かりますか?
として含まれるべきあなたは「ID」のカウント数を選択しているが持つ文で「STUDENTID」の数を制限しています。それは意図的なのでしょうか? –
私が正しく理解しているなら、たぶんWHERE t1> 0を最後のWHERE節に入れる必要があります。あなたはHAVINGをまったく必要としないかもしれません。 –
これは間違いだった - 私は両方ともidに変更されました – NadineK