Fra dokumentationen (fremhævet):
Du kan bruge et kolonnealias, c_alias
, for at mærke det umiddelbart foregå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
Så du kan ikke henvise til aliaset i where
klausul, hvor du i øjeblikket har:
...
AND (account_amt NOT BETWEEN ...
...
Aliaset er ikke gyldigt på det tidspunkt, så det leder efter en kolonne med det navn i en af tabellerne og finder ikke en. Det er fint i orden efter
dog.
Du skal enten erstatte aliaset med den gentagne decode
sætning, eller brug eventuelt en underforespørgsel og henvis derefter til aliaset i en hvor
klausul i en ydre forespørgsel, men det kan ende med at blive mindre effektivt afhængigt af hvor selektive dine andre forhold er.