这怎么写?不同领域的案例陈述
我需要检查几个字段的各种条件,以确定是否标记记录Y或N保留它。 (我试图排除某些不符合某些标准的报告中的某些记录。)
在此示例中,我有表作为ES,CQI,NA和CC的别名。所以,我需要这样的东西
CASE
WHEN SD.CType = N'ALT' AND ES.SERVICE = N'Alerts' THEN 'N'
WHEN SD.CType = N'ALT' AND ES.SERVICE <> N'Alerts' THEN 'Y'
WHEN SD.CType <> N'ALT' AND ES.SERVICE <> N'Alerts' THEN 'Y'
WHEN SD.CType = 'BPY' AND CQI.PTYPE = 'BP' THEN 'Y'
WHEN SD.CType <> 'BPY' AND CQI.PTYPE = 'BP' THEN 'N'
WHEN SD.CType <> 'BPY' AND NA.BILL = 'Y' THEN 'Y'
WHEN SD.CType = 'BPY' AND NA.BILL = 'Y' THEN 'N'
WHEN SD.CType = 'LEN' AND CC.PTYPE <> 'CC' THEN 'Y'
WHEN SD.CType = 'LEN' AND CC.PTYPE = 'CC' THEN 'N'
ELSE 'Y'
END
AS Keep
基本上,这些都包括在SD.CType值,然后他们得到与其他3个字段的值相结合。我可以在VB中编写SELECT CASE语句来执行此操作,但我需要在SQL中运行此语句。
我欣赏任何建议..谢谢!
有什么问题你有什么?你可以嵌套你的CASE语句,但是这看起来很简单。 – JNevill
感谢JNevil,它似乎工作,但我想知道是否有任何明显的低效率,或者如果我应该尝试一些更容易阅读的其他语法。我只是没有把握所有案例都在这个问题上。 –