私は2つのテーブル:participants
とresponses
を持つデータベースを持っています。参加者は、ゼロ、1つ、または多くの回答を持つことができます。応答も不完全である可能性があります(ended
タイムスタンプ列にNULLがあるとマークされます)。参加者には、不完全な回答が1件または1件ある可能性があります。0または1つの関連レコードでレコードを検索する
回答がない、または回答が不完全な参加者をすべて見つけるにはどうすればよいですか?
これは、SQLは、私が最初に試されます。
SELECT * FROM participants p
LEFT JOIN responses r
ON p.id = r.id_participant
WHERE r.id IS NULL
OR (count(r.id) = 1 AND r.ended IS NULL)
を私はエラーを取得:Invalid use of group function
私はいくつかのバリエーション(例えばSELECT *, count(r.id) as numr
など)を試みたが、何の-どこを取得していないのです。私は全く別のアプローチが必要だと思う。
を、私はあなたが持っ代わりの – minigeek
ん「参加者が多くの回答を持っている場合は、1つの応答が不完全であり、他人を使用する必要がありますね1つの回答が不完全である参加者」に属しているか? –
@LeoZhao基本的に、努力していない(つまり、少なくとも1つの回答を完了した)すべての参加者を探しています。 – Erics