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

Bedingte Select-Anweisung in Oracle

Sie können einen äußeren Join wie folgt verwenden:

SELECT OrderId,
       OrderDate, 
       case when holidaydate is not null then  'Public holiday' 
             else to_char(OrderDate, 'Day') end as DAY
from orders
     left outer join holidays
        on OrderDate = holiday_date ;

Wenn die Daten mit holidaydate übereinstimmen nicht null ist, also zeigt die CASE-Klausel Ihre gewünschte Zeichenfolge an, andernfalls zeigt sie den Tag des orderdate an .

order ist ein reserviertes Wort. Vermutlich hat Ihre reale Tabelle einen anderen Namen, um den ora-00903 zu vermeiden Error. Ich habe orders verwendet In meinem Beispiel müssen Sie meinen Code so bearbeiten, dass er mit Ihren Tabellennamen übereinstimmt.