Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Nama Kolom Alias ​​​​dalam pernyataan beberapa kasus

Anda tidak dapat menggunakan alias kolom dalam SELECT . yang sama ayat. Anda memiliki dua pilihan:

Gunakan subkueri:

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
    ...)

atau Anda dapat mengulangi logika yang Anda gunakan di CASE pertama :

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. Kueri dalam pada satu tabel dengan kondisi IN dan NOT IN

  2. Mengambil entri daftar tertaut dalam basis data relasional

  3. tidak dapat menulis data ukuran besar dengan UTL_FILE.PUT_LINE

  4. Kueri rekursif untuk dependensi tabel tidak berulang tidak sebanyak yang saya inginkan

  5. Bergabung dengan 3 tabel Oracle SQL