sql >> Database >  >> RDS >> Oracle

Alias ​​Kolomnaam in meerdere hoofdletters

U kunt geen kolomaliassen gebruiken in dezelfde SELECT clausule. Je hebt twee keuzes:

Gebruik een subquery:

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

of je kunt de logica herhalen die je hebt gebruikt in de eerste CASE :

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. ORA-00904 Ongeldige identifier” voor een identifier in een group by-clausule

  2. Manier om de Windows-gebruikersnaam te achterhalen / op te halen in Oracle APEX

  3. Op SQL Server opgeslagen procedures van Oracle®

  4. MySQL - Combineren van INSERT, VALUES en SELECT?