Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Bí danh Tên cột trong câu lệnh nhiều trường hợp

Bạn không thể sử dụng bí danh cột trong cùng một SELECT mệnh đề. Bạn có hai lựa chọn:

Sử dụng truy vấn con:

SELECT Alias1,
       CASE
            WHEN Alias1 = FieldA1 THEN FieldA0
            WHEN Alias1 = FieldB1 THEN FieldA1
            ELSE NULL
       END AS Alias2 
FROM (
    SELECT CASE 
                WHEN FieldA = 'TestA' THEN FieldA1
                WHEN FieldB = 'TestB' THEN FieldB1
                ELSE NULL
           END AS Alias1,
           FieldA1
           FieldB1
    ...)

hoặc bạn có thể lặp lại logic mà bạn đã sử dụng trong CASE đầu tiên :

SELECT CASE 
            WHEN FieldA = 'TestA' THEN FieldA1
            WHEN FieldB = 'TestB' THEN FieldB1
            ELSE NULL
       END AS Alias1,
       CASE 
            WHEN FieldA = 'TestA' THEN FieldA0
            WHEN FieldB = 'TestB' THEN FieldB0
            ELSE NULL
       END AS Alias2



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle tương đương với SQL Server DATEPART

  2. phân phối thanh toán sql

  3. Giới thiệu về tập hợp PL / SQL trong cơ sở dữ liệu Oracle

  4. Làm cách nào để duyệt cơ sở dữ liệu trên Máy chủ Oracle?

  5. Cách tốt nhất để chạy các truy vấn Oracle định kỳ