我知道SQL CASE將不會接受in list
的then
部分CASE
語句。SQL Server- CASE WHEN THEN在列表中的多個值
什麼,我的理想尋找的是這樣一個案例:
CASE WHEN 'A' Then in list ['B' , 'C'] ELSE 'A' END
或
CASE WHEN 'A' Then 'B' or 'C' ELSE 'A' END
我使用這個CASE語句作爲設計一個SQL視圖的一部分。
只是讓你知道,我已經檢查了Multiple values in SQL CASE's THEN Statement和那裏的答案沒有爲我工作。
編輯,問題描述和虛擬數據:
我的主表是dbo.main
在這個表我對形式
Year CTG
2015 A
2015 B
2015 C
2015 D
數據在我的設計視圖我又寫道的:
SELECT DISTINCT YEAR, 'GENRL' AS SETID, '000001' AS LABOR_AGREEMENT, CTG
FROM dbo.main
現在我的終極目標是擁有下表:
Year CTG
2015 B/C
2015 B
2015 C
2015 D
的CTG
值是啓動另一臺在另一個頁面的一個關鍵,我想該表顯示爲CTG所有的值有:B和CTG:C
你到底想達到什麼目的? '如果'A'然後'B'或'C'......'並不完全合理。當它是'A'時你想做什麼? – Siyual
我希望將結果作爲b和c –
'case'從幾個不同的選項(同一類型)中返回一個值,就是這樣。如果你想返回一個有條件的'table'變量,你需要一個函數或SP(或者可能是一個聰明的CTE可以這樣做;我不知道......) –