Ich habe eine Datenbank mit zwei Tabellen: participants
und responses
. Teilnehmer können null, eine oder viele Antworten haben. Antworten können auch unvollständig sein (markiert durch NULL in der ended
Zeitstempelspalte). Teilnehmer konnten keine oder nur unvollständige Antworten haben.Suchen von Datensätzen mit null oder einem verwandten Datensätzen
Wie finde ich alle Teilnehmer, die entweder keine oder nur eine unvollständige Antwort haben?
Dies ist die SQL ich zum ersten Mal versucht:
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)
ich den Fehler: Invalid use of group function
habe ich versucht, ein paar Variationen (z SELECT *, count(r.id) as numr
usw.), aber bin immer no-wo. Ich glaube, ich brauche einen ganz anderen Ansatz.
Ich denke, sollten Sie anstelle von verwenden, wo – minigeek
Does „Die Teilnehmer viele Antworten haben, eine Antwort ist unvollständig und die anderen sind abgeschlossen "gehört zu" Teilnehmern, die eine Antwort haben, die unvollständig ist? –
@LeoZhao im Grunde versuche ich alle Teilnehmer zu finden, die sich keine Mühe gegeben haben (d. H. Mindestens eine Antwort abgeschlossen haben). – Erics