sql >> Database >  >> RDS >> Sqlserver

Aliassen gebruiken in Where-clausule of een alternatieve optie?

U kunt de alias niet gebruiken in de WHERE-component. Herhaal de uitdrukking (rommelig) of plaats uw SELECT in een subquery en plaats vervolgens de WHERE-component in de buitenste query:

SELECT Id, Name, City, State
FROM
(
     SELECT
         ID, 
         Name,
         CASE T.N 
             WHEN 1 THEN City1
             WHEN 2 THEN City2
             WHEN 3 THEN City3
         END AS City,
         CASE T.N 
             WHEN 1 THEN State1
             WHEN 2 THEN State2
             WHEN 3 THEN State3
         END AS State
     FROM YourTable
     CROSS JOIN (VALUES(1),(2),(3)) AS T(N)
) T1
WHERE City IS NOT NULL


  1. Meerdere query's uitgevoerd in Java in één instructie

  2. 2 manieren om een ​​procentteken toe te voegen aan een getal in SQLite

  3. Gegevenstoegang vanaf Raspberry Pi

  4. Basis DB-verbindingspool met Java en Tomcat 7