2016-07-25 22 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