我需要正确的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