PDA

Vollständige Version anzeigen : Probleme mit SQL Anweisung


britney
06.05.2004, 19:27
Halllo,

ich bekomme bei dieser SQL-Anweisung Probleme:

SQL = "SELECT * FROM kunde_historie WHERE fk_historietyp LIKE '11' OR fk_historietyp LIKE '9' OR fk_historietyp LIKE '20' AND
fk_firma LIKE '2' AND fk_mitarbeiter LIKE '1' AND wiedervorlage_datum
BETWEEN #1977-04-23# AND #2037-12-31#"

Er zeigt z.B. trotz fk_firma Like '2' auch ein paar 3er mit an und ähnliches.
Kann es an fehlenden Klammern liegen? Wie muss ich welche setzen?

Datenbank: mySQL 5
Access: XP

jmc
06.05.2004, 20:02
Hi Britney

wieso machst du denn einen Vergleich mit LIKE, wenn du doch einen expliziten Wert suchst ?

... WHERE fk_historietyp = '11' OR fk_historietyp = '9'
OR fk_historietyp = '20' AND fk_firma = '2'
AND fk_mitarbeiter = '1' ...

geht sicher besser !

Like verwendet man eigentlich nur, wenn man z.b. "Nachname Like 'Me*' sucht ...


Ob du Klammern brauchst, kann ich nicht so recht beurteilen, da ich ja nicht weiss, wie die Bedingungen miteinander in Zusammenhang stehen. Aber ich könnte mir vorstellen, dass du die 3 mal "fk_historietyp" einklammern solltest ...

Lanz Rudolf
06.05.2004, 20:05
Hallo
Was wilst Du genau machen? ist fk_firma ein String oder eine Zahl
wo muss die 2 sein, an erster oder an letzter stelle?

Arne Dieckmann
06.05.2004, 20:13
Wie Jean es schon sagt:
Aber ich könnte mir vorstellen, dass du die 3 mal "fk_historietyp" einklammern solltest ...

Das sollte die Lösung sein.

SQL = "SELECT * FROM kunde_historie WHERE (fk_historietyp='11' OR fk_historietyp='9' OR fk_historietyp='20') AND
fk_firma='2' AND fk_mitarbeiter ='1' AND wiedervorlage_datum
BETWEEN #1977-04-23# AND #2037-12-31#"

britney
06.05.2004, 21:07
Das sollte die Lösung sein.

Funktioniert! Juhu! Vielen Dank für die Lösungen! Habe jetzt auch das "Like" durch ein "=" ersetzt.