Einzelnen Beitrag anzeigen

raiguen
(Gast)

n/a Beiträge
 
#13

Re: Nur bestimmte Schulklassen (Datensätze) auslesen

  Alt 25. Nov 2007, 14:11
Abgesehen von grenzgängers und mkinzlers Aussage...macht mich das hier ein bischen stutzig
hier (#1) 'bastelst' du das SQL-Statement zusammen:
Delphi-Quellcode:
Query1.Close;
  Query1.SQL.Text := 'SELECT * FROM "VT'+sj+'"';
  Query1.SQL.Add('WHERE NOT S="M" AND NOT S="E" '+abteilung+' AND NOT S="H" AND DATUM=:today');
  Query1.SQL.Add('ORDER BY DATUM DESC,'+order1);
  Query1.ParamByName('today').Value := today;
  Query1.Open;
und hier(#4) ist angeblich der erzeugte SQL-Code:
Delphi-Quellcode:
SELECT * FROM "VT07_08.dbf"
WHERE NOT S="M" AND NOT S="E" AND BETKLA IN ("AG=","Nh=","SV=") OR KLASSEN IN ("AG","Nh","SV") AND NOT S="H" AND DATUM=:today
ORDER BY DATUM DESC,KLASSEN ASC,S ASC
irgendwie passt das nicht zusammen Woher kommt das OR KLASSEN IN ("AG","Nh","SV")??? Hab ich da was übersehen??
Ich würde bspw. das SQL-Statement so aufbauen, sprich die Bedingungen vernünftig zusammenfassen (Stichwort: Klammern!):
SQL-Code:
SELECT * FROM "VT07_08"
  WHERE ( S NOT IN ("M","E","H")
          AND ( BETKLA IN ("AG=","Nh=","SV=")
                OR KLASSEN IN ("AG","Nh","SV")
               )
         )
         AND DATUM=:today
  ORDER BY KLASSEN ASC,S ASC
Sortierung nach Datum hab ich mir geschenkt - weil: warum danach sortieren , wenn eh nur ein bestimmtes Datum (nämlich der heutige Tag) ausgeguckt wird???
  Mit Zitat antworten Zitat