我需要正確的T-SQL語法這一問題:TSQL其中情況
Select * from table where var_A='10'
select * from table where var_B='10'
當使用var_A或var_B取決於var_C價值
所以當var_c='something'
使用var_A='10'
其他var_B='10'
我需要正確的T-SQL語法這一問題:TSQL其中情況
Select * from table where var_A='10'
select * from table where var_B='10'
當使用var_A或var_B取決於var_C價值
所以當var_c='something'
使用var_A='10'
其他var_B='10'
select *
from [table]
where case when var_c = 'something' then var_a else var_b end = '10'
嗨伊恩,謝謝它工作正常 – user1723982 2013-02-11 10:02:22
伊恩大概有可用的最好的答案,但我想我會提供另一個答案的不同(雖然不太靈活)方法的情況下,它可以幫助:你如何使用where子句中的case語句
IF var_c = 'something' BEGIN
SELECT * FROM [table] WHERE var_a = '10'
END
ELSE BEGIN
SELECT * FROM [table] WHERE var_b = '10'
END
此。
select * from table
where (case when var_c = 'something'
then var_a
else
var_b
end
)
考慮更改表格的佈局。你的問題表明一個沉重的設計缺陷。你介意展示你的餐桌設計還是解釋餐桌所包含的內容? – alzaimar 2013-02-10 21:10:01