首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

查询的where条件能否用case when来使用哪个列解决思路

2012-05-24 
查询的where条件能否用case when来使用哪个列SQL codedeclare @P intset @P1SELECT A列,B列,C列,D列FROM

查询的where条件能否用case when来使用哪个列

SQL code
declare @P intset @P=1SELECT A列,B列,C列,D列FROM TBWHERE (CASE WHEN @P=1 THEN A列>10 ELSE B列>10 END)


上面的写法是错误的,我是想实现@P=1时执行
SELECT * FROM TB WHERE A列>10

否则执行
SELECT * FROM TB WHERE B列>10

不知道如何实现

[解决办法]
不可以用case when 
SELECT * FROM TB WHERE (A列>10 and @P=1) or (B列>10 and @P<>1)

热点排行