2017-07-03 4 views
0

Ich habe echte Probleme hier mit Oracle SQL-Abfragen, ich bin neu dazu, also danke im Voraus.Oracle sql mehrere Bedingung für eine Spalte

ich zwei Abfragen mit mehreren Spalten bin bei, ich habe 3 Bedingungen für die Spalte DUE_DATE_STATUS Ich weiß nur nicht, wie 3 Bedingungen in den Select Statments

Zum Beispiel hat

SELECT t1, t2, t3, 

FROM B2 

UNION 

SELECT t1, t2, t3, 

FROM B2 

und ich habe diese Spalte ich hinzufügen möchte, dass, wenn jede Zeile sagt spät ist, ontime oder null ..

SELECT 'LATE_SUBMITTAL' as DUE_DATE_STATUS 

from C2 

WHERE 

END_DATE <= START_DATE 

Wie füge ich alle drei Bedingungen zum DUE_DATE_STATUS hinzu?

Antwort

0

Vielleicht möchten Sie einen CASE-Ausdruck verwenden.

SELECT t1 
     , t2 
     , t3 
     , CASE WHEN end_date <= start_date THEN 'LATE' 
      WHEN end_date > start_date THEN 'ONTIME' 
      ELSE NULL 
     END AS due_date_status 
    FROM B2 

Dies ist nur eine Vermutung. Aus der Frage ist nicht klar, was wir erreichen wollen ... ein Beispiel für das Ergebnis, das wir zurückgeben wollen.

Und wir wissen nicht, was los ist mit der Tabelle C2 in der zweiten Abfrage, wenn die erste Tabelle eine Tabelle mit dem Namen B2 verweist. Ich habe das Gefühl, dass wir eine Menge Informationen über das Problem, das wir zu lösen versuchen, vermissen.

+0

Ja! das war genau das, was ich gesucht habe, danke, dass gearbeitet – Dana

+0

Vielleicht können Sie mit einem anderen i Problem im Haben helfen, ich muss eine Flagge entweder Y/N eingeben, wenn ein Bericht letztes Jahr existierte. Alles, was ich habe, ist CASE WHEN Report _Date = 31/DEC/15 was ziemlich sicher ist lachhaft für erfahrene SQL-Entwickler, aber ich muss es tun oder jedes Jahr. – Dana

+0

Und auch die FORM_STATUS entspricht "Abgeschlossen" – Dana

Verwandte Themen