我有一個包含許多列的表,我計算列上的具體名稱,如果該名稱不在列表中,我想將其顯示爲零,但不能獲取列出。ORACLE顯示計數爲零,當列爲空時爲空
SELECT Names, COUNT (*)
FROM NAMESTABLE
WHERE names IN
('Jenny',
'Penny',
'George',
'James',
'Jessica',
'Monica',
'Erica')
AND
adeddate BETWEEN '2014/10/15' AND '2014/10/16'
GROUP BY names
NAMES || COUNT(*)
Jenny || 33
Penny || 4
George || 25
James || 87
,所以我想傑西卡,莫妮卡,埃裏卡爲零連這些名字都沒有列
Names || Count(*)
Jenny || 33
Penny || 4
George || 25
James || 87
Jessica || 0
Monica || 0
Erica || 0
nvl(count(*),0)
不起作用
那麼namestable是否具有jessica monica和erica的值?如果沒有,你是說你想讓你的過濾器在結果集中添加數值,當他們不在那裏時?這不僅僅是SQL的工作原理。你必須首先有一個表格/設置這個數據。這可以通過union,cte或temp表來完成。 – xQbert 2014-10-16 12:56:40