2017-07-03 47 views
0

我在這裏用oracle sql查詢遇到了麻煩,我對此很感興趣。oracle sql多列一個列的條件

我加入具有多個列的兩個查詢,我有列DUE_DATE_STATUS 3個條件我只是不知道如何有在選擇Statments

3個條件例如

SELECT t1, t2, t3, 

FROM B2 

UNION 

SELECT t1, t2, t3, 

FROM B2 

,我有這個專欄中,我想補充一點,告訴如果各行末,準時或空..

SELECT 'LATE_SUBMITTAL' as DUE_DATE_STATUS 

from C2 

WHERE 

END_DATE <= START_DATE 

如何將所有三個條件添加到DUE_DATE_STATUS

回答

0

作爲一個猜測,你可能想要使用CASE表達式。

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 

這只是一個猜測。從這個問題來看,我們不清楚我們正在努力達成什麼......我們想要返回的結果的一個例子。

我們不知道第二個查詢中名爲C2的表是什麼,當第一個表引用一個名爲B2的表時。我覺得我們錯過了很多關於我們試圖解決的問題的信息。

+0

是的!這是exaclty我在找什麼,謝謝你的工作 – Dana

+0

也許你可以幫助我的另一個問題即時通訊,我需要輸入一個標誌或Y/N如果報告存在去年。我所有的就是CASE WHERE Report _D​​ate = 31/DEC/15,這對於有經驗的SQL開發人員來說確實很可笑,但我必須這樣做或每年。 – Dana

+0

而且FORM_STATUS等於'已完成' – Dana