我在做这样的查询:
select name, count(*)as num from client, work where client.id = work.idc group by name;
而我得到的结果2列,name
而num
这是我看到的名称和姓名的每一个使用多少次的东西的总和。
我也有无所事事的客户。
我想做的就是在新表中也显示它们,而不是写它们的计数(因为它们仍然不执行任何操作,所以为0),我想在同一列中写num
“仍然不执行任何操作”。
我听说我可以做到这一点if
还是case
,但我不知道怎么样。
您需要左连接来获取没有工作的名称,
您需要将count(work.idc)设为0
select name
, case count(work.idc) when 0 then 'still did nothing'
else cast (count(work.idc) as varchar2 (50)) end as num
from client
left join work
on client.id = work.idc
group by name;
试试这个
select name
, count(work.idc) as num
from client
left join work
on client.id = work.idc
group by name;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句