Moin, ich habe hier ein äußerst komisches verhalten bei einer
SQL Abfrage auf SQLITE:
Die Tabelle auf die die Abfrage läuft:
jetzt setze ich folgendes
SQL auf die Tablle ab:
Code:
Select I.Keyname, I.Value, I.Abhaengig, T.Value from INITAB I
LEFT JOIN (Select Sectionname, Keyname, Value from INITAB) T on T.Keyname = I.Abhaengig
where T.Value = 1
Ergebnis:
Soweit so gut. jetzt möchte ich aber alle Zeilen als ergebnis haben, in welchen die spalte
T.Value
entweder '1' oder NULL ist. Logische schlussfolgerung: ein
ifnull
verwenden!
Also ein
ifnull
drum gesetzt:
Code:
Select I.Keyname, I.Value, I.Abhaengig, T.Value from INITAB I
LEFT JOIN (Select Sectionname, Keyname, Value from INITAB) T on T.Keyname = I.Abhaengig
where ifnull(T.Value, 1) = 1
Ergebnis:
Jetzt meine Frage: wo ist die Zeile "MailMonate" hin? habe ich ifnull irgendwie falsch verstanden? In meinem Wissensstand macht ifnull bei einer Spalte aus allen Feldern, in welchen NULL steht den angegebenen Wert und ansonsten gibt es den vorhandenen Wert zurück. dementsprechend müsste hier doch auch die "MailMonate" Zeile mit kommen oder?