Ich möchte Daten erhalten, wenn orgid = 2
oder wenn es überhaupt keine Zeile für die uid
. orgid
ist ein integer
. Das nächste, woran ich denken könnte ist, IS NULL
zu tun, aber ich bekomme keine Daten für die uid
, die keine orgid
Zeile hat. Irgendeine Idee?Abfrage, wo Fremdschlüssel Spalte kann NULL sein
select u.uid,u.fname,u.lname from u
inner join u_org on u.uid = u_org.uid
inner join login on u.uid = login.uid
where u_org.orgid=2 or u_org.orgid is NULL
and login.access != 4;
Grundsätzlich ist die OR
ist, wenn u_org.orgid
Zeile nicht existiert.
Meine Vermutung ... Sie fehlen Klammern? Versuchen Sie stattdessen: '(u_org.orgid = 2 ODER u_org.orgid IST NULL) UND login.access! = 4' – Wolph
Sie könnten es auch so lösen:' COALESCE (u_org.orgid, 2) = 2' – Wolph
@WoLpH - beide haben es nicht gelöst. Vielleicht ist 'IS NULL' das Falsche? Ist es NULL, wenn die Zeile nicht in der Datenbank existiert? – user983223