Andreas Schigold: SQL Server

Beitrag lesen

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