select B ,count(*) as C from T1 group by B
union all
select B ,0 from t2 where not exists (select 1 from t1 where t1.b=t2.b);
union all
select B ,0 from t2 where not exists (select 1 from t1 where t1.b=t2.b);
解决方案 »
- oracle修改日期显示格式
- 问下这1个语句是什么意思啊? 。。。在线等!!!!
- 查询a,b,c三个表的一些字段 可是b表需要UNION ALL b的历史表 可以实现吗?
- oracle锁的机制
- 时间前后顺序验证
- 请教PL/SQL中类似MSSQLSERVER execute('select * from tables')的写法
- 请问我想取出记录集的第30之60条记录,应该怎么写呢?我写成where rownum>30 and rownum<60为什么选不出来纪录呢?
- sql问题请教,查出一个表中所有相同记录后,只保留相同记录中的一条记录,其它的全部删除,如何写sql,如果在存储过程里如何做呢
- 创建用户的存储过程
- sqlplus 连接问题
- delphi和oracle包里的存储过程的问题(谢绝up一类词)
- 如何实现逐一关联(不要用游标实现)
只要保证union前后 的两条语句 中的字段个数 以及 类型 相同就行了。
select t2.b,count(t1.b) c from t1,t2 where t2.b = t1.b(+) group by t2.b