[英]SQL (where in) returns no results
Oracle "table1" Oracle“表1”
number code
111 aaa
222 bbb
333 aaa
Query 询问
SELECT COUNT(*) AS CNT, CODE
FROM TABLE1
WHERE NUMBER IN (
'444',
'111',
'333',
'222'
) GROUP BY CODE;
Answer 回答
CNT CODE
2 aaa
1 bbb
Need result, please help. 需要结果,请帮忙。
CNT CODE
1 null
2 aaa
1 bbb
I try request with "nvl" but it returns(count) only rows with (null) code, but not count rows. 我尝试使用“ nvl”请求,但它仅返回(计数)具有(空)代码的行,而不返回行。
PS. PS。 Sorry for bad English :) 对不起,英语不好:)
I think you want a left join
: 我想你想left join
:
SELECT CODE, COUNT(t1.NUMBER) AS CNT
FROM (SELECT '444' as num FROM DUAL UNION ALL
SELECT '111' as num FROM DUAL UNION ALL
SELECT '333' as num FROM DUAL UNION ALL
SELECT '222' as num FROM DUAL
) x LEFT JOIN
TABLE1 t1
ON t1.NUMBER = x.num
GROUP BY CODE;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.