1

我有以下 SQL 查询:

SELECT item, count(item)
FROM tableX
WHERE salesman='Mr.Doe'
GROUP BY item
ORDER BY count(item)

所以它看起来像这样:

     item  | amount
-------------------------
item A     |  10
item B     |   7
item c     |   5

如果推销员“Mr.Doe”没有商品,我如何显示(“无商品”和 0)?它应该是这样的:

      item  | amount
-------------------------
 no item    |  0
4

1 回答 1

4

这在标准 SQL 中有点复杂。但是你可以。这是一种方法,使用union all

SELECT item, count(item)
FROM tableX
WHERE salesman='Mr.Doe'
GROUP BY item
union all
select 'no item', 0
from dual
where not exists (select 1 from tableX where salesman = 'Mr.Doe')
ORDER BY count(item)
于 2013-10-29T22:37:39.910 回答