select dev_type_id , count(dev_type_id) as num from dev_info where dev_state = 0 grouy by dev_type_id 这个语句 可以出处 类型,和这个类型的数据行数即 dev_type_id num
1 2
2 1
3 20但是 当num 的值为零时,结果集中不会显示我要的结果是
dev_type_id num
1 2
2 1
3 20
4 0怎样写SELECT 语句才能 显示 最后面那条数据 (即 4 0 )
1 2
2 1
3 20但是 当num 的值为零时,结果集中不会显示我要的结果是
dev_type_id num
1 2
2 1
3 20
4 0怎样写SELECT 语句才能 显示 最后面那条数据 (即 4 0 )
from (select distinct dev_type_id from dev_info) a,
(select dev_type_id, count(dev_type_id) as num
from dev_info
where dev_state = 0 grouy by dev_type_id) b
where a.dev_type_id = b.dev_type_id(+)
如果是,那没有道理不显示.如是不是,那么你只能牵强地来union all,就是二楼的结果.
这个很简单的。就是两个查询的左连接。思路很简单。我也不知道怎样可以简化了。
我说的特殊符号 是指 和 distinct ,group by 类似,加了 就可以显示,或者有个什么函数什么的
select a.dev_type_id, nvl(b.num, 0) num
from (select distinct dev_type_id from dev_info) a,
(select dev_type_id, count(dev_type_id) as num
from dev_info
where dev_state = 0 grouy by dev_type_id) b
where a.dev_type_id = b.dev_type_id(+)
即 :一楼 linzhangs 的解答谢谢 linzhangs 谢谢各位给出解答的朋友