SQL - 当NULL设置值时

时间:2013-10-29 22:31:44

标签: sql oracle null

我有以下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

如何展示('无项目'和0)如果推销员'Mr.Doe'没有项目?它应该是这样的:

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

1 个答案:

答案 0 :(得分: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)