我有一個巨大的查詢,它使用案件/當經常。現在我在這裏有這個SQL,這是行不通的。如何使用T-SQL的Case/When?
(select case when xyz.something = 1
then
'SOMETEXT'
else
(select case when xyz.somethingelse = 1)
then
'SOMEOTHERTEXT'
end)
(select case when xyz.somethingelseagain = 2)
then
'SOMEOTHERTEXTGOESHERE'
end)
end) [ColumnName],
什麼導致麻煩是xyz.somethingelseagain = 2
,它說它不能綁定該表達式。 xyz是在查詢中進一步向下連接的表的別名。這裏有什麼問題?除去2個案例中的一個可以糾正這個問題,但我需要兩個案例,甚至更多案例。
作品,什麼區別? :) – grady 2010-07-27 09:50:22
可以說我有一些whens重複,如下所示: WHEN xyz.something = 1 and xyz.abc = 2 THEN'SOMETEXT' WHEN xyz.something = 1 and xyz.abc <> 2 THEN 'SOMEOTHERTEXT' 我可以以某種方式說,如果第一次設置即將到來的跳過?什麼東西可以逃脫案件/何時? – grady 2010-07-27 10:07:04