2016-07-25 46 views
1

我已經寫了一個查詢,將查看數據庫中的日期列並添加14天,我的問題是查詢需要查看文檔狀態列,查找Unprocessed和部分處理並分別添加14或7天。SQL如果語句和合並2查詢

例如,如果今天訂購了它,它將是未處理的,並且日期必須在從系統中清除之前14天添加,如果文檔被部分處理,日期必須在從系統清除之前增加7天。

另外2個查詢需要合併成一個,任何人都可以請幫忙嗎?

SELECT * 
FROM ZS_vwSOA_PendingApproval 
WHERE [Document State] IN ('Unprocessed', 'Partially Processed') 

SELECT Date, DATEADD(day, 14, Date) AS [Expiration Date] 
FROM ZS_vwSOA_PendingApproval 

回答

2

使用case表達:

SELECT 
    Date, 
    CASE [Document State] 
     WHEN 'Unprocessed' THEN DATEADD(day, 14, Date) 
     WHEN 'Partially Processed' THEN DATEADD(day, 7, Date) 
    END AS [Expiration Date] 
FROM ZS_vwSOA_PendingApproval 
WHERE [Document State] IN ('Unprocessed', 'Partially Processed') 
+0

非常感謝你已經努力了巨大的成功。 – Pooveshin