数据库sql判断语句(case,IF)


"select b.cat_id,(case when a.cat_id<>'null' then count(*) else '0'  end)as goods_num from ".$GLOBALS['ecs']->table('goods'). " as a right join ".$GLOBALS['ecs']->table('category'). " as b on a.cat_id=b.cat_id group by b.cat_id";

上面的数据库语句标红部分,是使用了sql判断语句(case),下面介绍case的使用:

已这个数据库语句为例子:

(case when a.cat_id<>'null' then count(*) else '0'  end)

当a.cat_id不等于null时,则输出count(*),否则输出0.


case when的详细用法,请参照以下链接:

http://lj.soft.blog.163.com/blog/static/7940248120109215191358/




IF的使用

select * ,if(a>b,a,b) as pid from table;

注意a和b都是数据表的字段

IF的第一个参数为条件,条件成立输出a,否则输出b

你可能感兴趣的:(Mysql)