SQL If语句和合并2个查询

时间:2016-07-25 07:00:54

标签: sql-server

我编写的查询会查看数据库中的日期列并添加14天,我的问题是查询需要查看文档状态列,查找Unprocessed并部分处理并添加尊敬地14或7天。

例如,如果今天发出的订单将被处理,并且日期必须在从系统清除之前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

1 个答案:

答案 0 :(得分: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')