sql >> Databasteknik >  >> RDS >> Oracle

Använda Alias ​​In When-del av ett ärendeutlåtande i Oracle SQL

Nej, du kan inte referera till aliaset någon annanstans i samma nivå av select , annat än i ordning efter klausul, på grund av när Oracle tilldelar den internt.

Från dokumentationen (min kursivering):

Du kan använda ett kolumnalias, c_alias, för att märka det omedelbart föregående uttrycket i urvalslistan så att kolumnen visas med en ny rubrik. Aliaset byter effektivt namn på urvalslistobjektet under hela frågan. Aliaset kan användas i ORDER BY sats, men inte andra satser i frågan .

Du skulle behöva använda en inre fråga, något som:

select "Id",
    case "Id"
        when 3
        then 'foo'
        else 'bar'
    end AS "Results"
from (
    select TABLEA.SomeIDNumber AS "Id",
    from TABLEA
);



  1. Sök text i lagrad procedur i SQL Server

  2. Bästa metoder för MySQL-replikering

  3. Rails omfattning - var i exakta matchningar

  4. Hur man analyserar aktiviteten i en databas i SQL Server