"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