Ich versuche, eine SQL-Abfrage zu erhalten, um NULL-Werte mit einem LINKEN OUTER JOIN zwischen meinen beiden Tabellen zurückzugeben.Rückgabe mehrerer Nullwerte mit Outer-Join
Eine Tabelle enthält Benutzerinformationen, und die andere enthält Roll-Call-Informationen. Im Wesentlichen versuche ich eine HTML-Tabelle zu generieren, um anzuzeigen, ob jemand für jeden Monat einen Appell unterfertigt hat oder nicht. Wenn der Wert NULL ist, bedeutet dies, dass sie zum Zeitpunkt dieses Appells nicht Mitglied waren.
Das Problem, das ich gerade habe, ist, dass die Abfrage nur einen NULL-Wert zurückgibt, auch wenn sie kein Mitglied für mehr als einen Appell waren. Hier ist die Abfrage, die ich bin mit dem der Benutzer war kein Mitglied für mehr als eine namentliche:
SELECT m.userid, r.status, r.rollcallid
FROM fleetmgr_members AS m
LEFT OUTER JOIN fleetmgr_rollcall_log AS r
ON m.userid = r.userid AND r.rollcallid IN(1, 5)
WHERE m.userid = 2089
ORDER BY m.currentName, r.rollcallid;
Diese Abfrage liefert:
userid status rollcallid
2089 NULL NULL
Ich will es zurück:
userid status rollcallid
2089 NULL 1
2089 NULL 5
Aus irgendeinem Grund ist es völlig ratlos, das zu erreichen, was ich will. Ich danke Ihnen im Voraus für Ihre Hilfe.
fleetmgr_rollcall_log Tabelle:
id rollcallid userid date_signed status activity comments
2 1 652 1330563886 signed 6-8 hrs/week -
29 1 2462 1330565521 signed 9-11 hrs/week -
1823 5 731 1333300321 signed 0-2 hrs/week -
2293 5 166 1333901983 exempt 0-2 hrs/week -
fleetmgr_members Tabelle:
id userid currentName
1 3 SomeUsername
2 5 DifferentUsername
Haben Sie eine Tabelle, die alle Rollrufe auflistet? – ESG