Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Mehrere THEN zu einer einzelnen CASE-Anweisung?

Sie müssen Ihr Fallkonstrukt für jeden Spaltennamen wiederholen. Etwa so:

case ColumnName 
when 'A' then 'Apple'  
when 'B' then 'Banana'
end ColumnName, 

case ColumnName
when 'A' then '1'  
when 'B' then '2'
end ExtraColumn,

Hier gibt es ein Problem. Wenn Sie ColumnName in Ihrer where-Klausel verwenden, mögen Ihnen die Ergebnisse möglicherweise nicht, weil Sie es als Alias ​​verwendet haben.

Die Bearbeitung beginnt hier

Sie können Ihre Aliase machen, was Sie wollen. Wenn sie einfach sind, geben Sie sie einfach ein.

 select column1 fred, column2 barney

Wenn Sie mehr als ein Wort oder ein SQL-Schlüsselwort wünschen, verwenden Sie doppelte Anführungszeichen

select column1 "fred flinstone", column2 "select"