Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.302 Beiträge
 
Delphi 12 Athens
 
#5

Re: SQL Syntax, Vergleich mit 2 Bedingungen

  Alt 21. Jun 2008, 12:18
ich will ja nur die Eigenschaften der Filter sehen, welche bei der zugeordneten Tätigkeit den Status 3 haben.


Bsp:

Wartung 100 (entspricht Anlage 99) --> Rückluftfilter --> Tätigkeit erledigt (Status 3)
Wartung 100 (entspricht Anlage 99) --> Zuluftfilter --> Tätigkeit unerledigt (Status 0)

Wartung 101 (entspricht Anlage 100) --> Rückluftfilter --> Tätigkeit unerledigt (Status 0)
Wartung 101 (entspricht Anlage 100) --> Zuluftfilter --> Tätigkeit erledigt (Status 3)


Ergebnismenge soll sein aus Filtereinsatz:
Anlage 99, Rückluftfilter, Eigenschaften
Anlage 100, Zuluftfilter, Eigenschaften

Delphi-Quellcode:
ZQueryFilter.SQL.Text:= 'select ANLAGE,BEZEICHNUNG,ART,QUALITAT,GROSSE,MENGE ';
ZQueryFilter.SQL.Add('from FILTEREINSATZ where VERBRAUCH = 1 and ANLAGE in (select ANLAGE from WARTUNGL where NUMMER in (select NUMMER from WARTUNGP where TATIGKEIT = :Tatigkeit and STATUS = 3))');
ZQueryFilter.SQL.Add('and BEZEICHNUNG in (select BEZEICHNUNG from WARTUNGP where TATIGKEIT = :Tatigkeit and STATUS = 3 and NUMMER in (select NUMMER from WARTUNGP where TATIGKEIT = :Tatigkeit and STATUS = 3)) ');
ZQueryFilter.SQL.Add('order by ANLAGE');
ZQueryFilter.ParamByName('Tatigkeit').Value:= '3205 * Filtermedium wechseln';
ZQueryFilter.Open;
damit kriege ich logischerweise wieder alle Datensätze aus FILTEREINSATZ weil sowohl die Anlage durch
(select ANLAGE from WARTUNGL where NUMMER in (select NUMMER from WARTUNGP where TATIGKEIT = :Tatigkeit and STATUS = 3) als auch die Bezeichnung durch
(select BEZEICHNUNG from WARTUNGP where TATIGKEIT = :Tatigkeit and STATUS = 3 and NUMMER in (select NUMMER from WARTUNGP where TATIGKEIT = :Tatigkeit and STATUS = 3) vorhanden ist und über in alle Varianten möglich sind.

ich müßte ANLAGE und BEZEICHNUNG zusammen aus einem Subselect mit and mit den anderen Bedingungen verknüpfen (VERBRAUCH)

irgendwo habe ich einen Denkfehler
  Mit Zitat antworten Zitat