Entwickler-Ecke

Datenbanken - Problem bei SQL - where (erledigt)


Josef-B - Di 20.01.04 18:55
Titel: Problem bei SQL - where (erledigt)
Folgendes Problem:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
ibtransactionuni.Active := true;
ibsql1.SQL.clear;
text :=
'Insert into EXPORT (KONTO_NR,NAME_1,NAME_2,STRASSE,PLZ,ORT) ' +
'Select Distinct KUNDENMAIL.KONTO_NR, KUNDEN.NAME_1, KUNDEN.NAME_2,' +
'KUNDEN.STRASSE,KUNDEN.PLZ, KUNDEN.ORT from KUNDEN' +
' where KUNDEN.STATISTIKFELD_1 <> ' + quotedstr('M') +
' INNER JOIN KUNDENMAIL on KUNDENMAIL.konto_nr = KUNDEN.KONTO_NR' +
' order by KUNDEN.PLZ' ;
showmessage ('string =' +text);
ibsql1.SQL.Text:= text;
ibsql1.ExecQuery;
ibsql1.transaction.commit;


Die Zeile:

Delphi-Quelltext
1:
' where KUNDEN.STATISTIKFELD_1 <> ' + quotedstr('M') +                    


habe ich nachträglich eingefügt. Ohne die where-Klause funktioniert alles, aber mit bekomme ich die Fehlermeldung 'token unknown ''Inner''.

Was habe ich denn da falsch gemacht, steht die where Klausel da an falscher Stelle?


tomtom62 - Di 20.01.04 19:07

Gut erkannt :wink: .

Im Ernst, WHERE gehört vor das ORDER BY.


Böser Borstel - Mi 21.01.04 08:39

hast du vielleicht übersehen tomtom62 aber seine where klausel ist vor order. er hat sie unten nur nochmal ausgelistet damit der Fehler besser sichtbar ist


KidPaddle - Mi 21.01.04 09:16

Tja, und trotzdem hat tomtom62 Recht. :lol: Denn die WHERE Klausel steht mitten im FROM - Abschnitt und zerteilt den INNER - JOIN. Also WHERE - Klausel vor der ORDER BY verschieben.

Gruß
KidPaddle


Josef-B - Mi 21.01.04 18:48

ja, danke da wars.