MySQL IF判断+子查询 并用

C 2018-4-27 4909

今天需要写一个功能,类似于先查询某个项目是否存在,如果存在则查询A,不存在则查询B。

网上找了一大圈狗屁没发现,全是各种复制粘贴的错误教程,连什么CASE和ELSE这种根本不是SQL语法的都给扯出来了。

可以说网上这些文章真是害人无数……

SELECT `tid` FROM `topic` WHERE IF ((SELECT `tid` FROM `topic` WHERE `time`=1365773700 AND `tid`=0), `time`<=1365773700 AND `tid`<=2 ,`time`<=1365773700 );

这种才是正确的写法,WHERE IF(S,A,B) 一定要写到一起。

S是判断句,如果是子查询必须用小括号()包起来。

A是S返回true时使用的条件,B是S返回false时使用的条件。

最新回复 (0)
返回
发新帖