這怎麼寫?不同領域的案例陳述
我需要檢查幾個字段的各種條件,以確定是否標記記錄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,它似乎工作,但我想知道是否有任何明顯的低效率,或者如果我應該嘗試一些更容易閱讀的其他語法。我只是沒有把握所有案例都在這個問題上。 –