Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Menggunakan Alias ​​​​di Mana Klausul atau Opsi Alternatif?

Anda tidak dapat menggunakan alias dalam klausa WHERE. Ulangi ekspresi (berantakan) atau letakkan SELECT Anda di subquery dan kemudian letakkan klausa WHERE di kueri luar:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menemukan Semua Pelanggaran Batasan di Database SQL Server

  2. Ubah Time Zone Offset pada nilai datetimeoffset di SQL Server (T-SQL)

  3. Menggunakan SMO untuk menyalin database dan data

  4. Terjemahan Bahasa untuk Tabel

  5. Bagaimana cara saya terhubung ke database SQL dari C#?