查询的where条件能否用case when来使用哪个列 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不知道如何实现 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不可以用case when SELECT * FROM TB WHERE (A列>10 and @P=1) or (B列>10 and @P<>1) declare @P intset @P=1if @P=1 SELECT * FROM TB WHERE A列>10else SELECT * FROM TB WHERE B列>10 这是什么错误,如何解决? Sql語句 两表相减,难啊!!! 求助,SQL求和的问题。不同行也不同列。。。 专家分是直接扣的吗 时间函数问题,参与有分!在线等! 求助 谁能提供一个好的sql2000的下载网址啊? 请各位高手指教:给新手一点建议(Access——SQLServer)。 该语句怎么优化请大加发表意见 求高手指点!谢谢! SQL优化问题
SELECT * FROM TB WHERE (A列>10 and @P=1) or (B列>10 and @P<>1)
declare @P int
set @P=1if @P=1
SELECT * FROM TB WHERE A列>10
else
SELECT * FROM TB WHERE B列>10