sql >> Database teknologi >  >> RDS >> Oracle

Brug af Alias ​​In When Del af en sagserklæring i Oracle SQL

Nej, du kan ikke henvise til aliaset andre steder i det samme niveau af vælg , andet end i orden efter klausul, på grund af hvornår Oracle tildeler den internt.

Fra dokumentationen (fremhævet):

Du kan bruge et kolonnealias, c_alias, til at mærke det umiddelbart forudgående udtryk i valglisten, så kolonnen vises med en ny overskrift. Aliaset omdøber i virkeligheden valglisteelementet i hele forespørgslens varighed. Aliaset kan bruges i ORDER BY klausul, men ikke andre klausuler i forespørgslen .

Du skal bruge en indre forespørgsel, noget som:

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



  1. Sådan sorteres rækker af HTML-tabel, der kaldes fra MySQL

  2. Hvordan finder du diskstørrelsen på en Postgres / PostgreSQL-tabel og dens indekser

  3. Sådan fungerer Setseed() i PostgreSQL

  4. Parametriseret forespørgsel i Oracle-problemer