我想在我的查询中创建case语句时得到一些帮助。
我有下面的查询,我正在试图修改
CASE WHEN Hotelexpenses between CONVERT(varchar(10), getdate(),121) and convert(varchar(10),DATEADD(mm,6,getdate()),121)
and engagementexpenses between CONVERT(varchar(10), getdate(),121) and convert(varchar(10),DATEADD(mm,6,getdate()),121)
and travelexpenses between CONVERT(varchar(10), getdate(),121) and convert(varchar(10),DATEADD(mm,6,getdate()),121)
THEN 'Yes'
else 'NO'
End As combinedflag我想添加附加条件,例如旅馆费用,当旅馆费用>100.00美元时,如果招待费> 100.00,旅行费用>100.00,如果除我的案例陈述之外,上述任何条件都满足了,那么标志应该是‘是’,否则‘否’作为ABC结束。
现在,在类似条件的情况下,只满足酒店费用,而不满足其他两项,如果hotelexpenses>100.00和其余两项都小于100.00,则标志应该是“是”。(说得通吗?)但是,如果所有三个匹配日期标准,但不符合金额,那么标志应该是否。
因此,我的主要问题是如何在语句中使用带有‘和’&‘或’的语句时使用case。有可能吗?
提前谢谢你。
发布于 2015-07-17 04:51:47
你在找这个吗?-
CASE WHEN Hotelexpenses between CONVERT(varchar(10), getdate(),121) and convert(varchar(10),DATEADD(mm,6,getdate()),121)
and engagementexpenses between CONVERT(varchar(10), getdate(),121) and convert(varchar(10),DATEADD(mm,6,getdate()),121)
and travelexpenses between CONVERT(varchar(10), getdate(),121) and convert(varchar(10),DATEADD(mm,6,getdate()),121)
and (hotelexpenses > 100 OR engagementexpenses > 100 OR travelexpenses > 100)
THEN 'Yes'
else 'NO'
End As combinedflaghttps://stackoverflow.com/questions/31467324
复制相似问题