Hallo Carsten,
Die Bedingung kommt am Ende:
SELECT username AS irgendwas FROM usertable WHERE (userid > 20)
Die Bedingungen zur Auswahl der zurückzugebenden Zeilen kommen in den Where-Zweig. Aber "Parser"-Funktionen, die die Ausgabe verändern, kommen in den select-zweig, z.B.:
select max(id) from my_table;
select count(name) from my_table where age>18; (Gibt die Anzahl der Leute, die älter als 18 sind)
select alter, (alter>=18) as volljaehrig, name from my_table; bring normalerweise schon die Ausgabe:
+-------+-------------+-----------+
| alter | volljaehrig | name |
+-------+-------------+-----------+
| 10 | 0 | Fritzchen |
| 20 | 1 | Fritz |
|............. |
+-------+-------------+-----------+
Nur der SQL-Server will halt nich. Der is nämlisch ä bissl bleede.
Gruß
Andreas
Hallo,
ich möchte folgendes SELECT-Statement im SQL-Server ausführen:
SELECT username, (userid>20) AS irgendwas FROM usertable;
Aber der SQL-Server weigert sich und stört sich an dem Vergleich (wo ich gerne ein Wahrheitswert, in welcher Form auch immer, zurückhaben möchte). Denn wenn man
SELECT 1=1 FROM usertable;
ausführen möchte, kommt diesselbe Fehlermeldung (Syntaxfehler in der Nähe von '=').
Wie kann man solche Vergleiche in Statements realisieren (in MS Access funktionieren sie übrigens einwandfrei).
Vielen Dank schon im Voraus
Gruss
Michael