sql中where 之后怎么加if条件判断

hongye 发布于 2012/11/22 13:30
阅读 16K+
收藏 0

 where `IF`(2>1,(u.user_rank=0  or ,1 and  )rank_disc in( 1, 3, 4) `IF`(2>1,),  ' ' ) and...

这是mysql的where条件 这后面的判断  if 要怎么判断呢 现在这样是错的

加载中
0
鉴客
鉴客
话说 MySQL 能这样写吗???
0
Ryan-瑞恩
Ryan-瑞恩
case when -----then
0
hongye
hongye
where if () 这个可以写啊
0
c
cb198811
今天也遇到了,没解决直接分两条sql了
0
陶邦仁
陶邦仁

这个还真不能这样写,可以再select中使用case when then  来进行判断,你是什么的需求?还要在Where中加if,or and  就可以搞定的

0
浅水清幽
浅水清幽

神奇的地球。。可以在子查询中用case/if;然后再对子查询进行查询。

0
hongye
hongye

 where `IF`(2>1,(u.user_rank=0  or ,1 and  )rank_disc in( 1, 3, 4) `IF`(2>1,),  ' ' ) and...

问题是 条件 user_rank 是随机的 而且与rank_disc 用 or 连接  后面还有and的其他条件  这样就有个括号太多的问题 

0
八宝旗
八宝旗

mysql 是支持 WHERE IF()的用法,http://sqlfiddle.com/#!2/564ee/2

但感觉楼主没把需要说明白,最好能把具体条件列出来

0
hongye
hongye

select ... where (u.user_rank=0  or rank_disc in( 1, 3, 4) ) and... 

或者

select ... where rank_disc in( 3, 4)  and... 

这是我最后希望得到的查询语句

0
Y-QTCe
Y-QTCe
你仔细整理一下,我看这个不需要什么IF
返回顶部
顶部