Einzelnen Beitrag anzeigen

Benutzerbild von Devil1925
Devil1925

Registriert seit: 20. Nov 2015
Ort: Saerbeck
236 Beiträge
 
Delphi 10.3 Rio
 
#1

SQLITE ifnull komisches verhalten

  Alt 15. Mär 2017, 10:42
Datenbank: SQLITE • Version: xxx • Zugriff über: egal
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?
Miniaturansicht angehängter Grafiken
grundtabelle.png   abfrage1.png   komischesergebnis.png  
Philipp
Höllische Grüße
Devil
Meistens sitzt das Problem vor dem Bildschirm! - Leider bin das oftmals ich.
  Mit Zitat antworten Zitat