就一sql,急。。。

tcmis 2004-09-21 09:15:58
我有如下两个表
表一:one
dm dmhy
-----------------
1 中专
2 高中
3 大学
4 本科
5 研究生
表二:two
xm whch xb
---------------------------
aa 1 男
bb 2 女
cc 3 男

我现在要根据文化程度来进行统计,统计结构如下

dm dmhy count
---------------------------
1 中专 1
2 高中 1
3 大学 1
4 本科 0
5 研究生 0

请高手赐教,必须把学历的中文名称也显示出来。。


...全文
141 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ahill 2004-09-22
  • 打赏
  • 举报
回复
SELECT dm, dmhy, NVL (COUNT (whch), 0) total
FROM one, two
WHERE dm = whch (+)
GROUP BY dm, dmhy

思路:
1.假设two里的资料在one中存在的话就可以根据dm, dmhy来做分组统计。
2.但two中不一定有所有等级学历的资料,所以可以根据外连接的技术实现统计。
dinya2003 2004-09-22
  • 打赏
  • 举报
回复
恭喜! :)
tcmis 2004-09-21
  • 打赏
  • 举报
回复
我已经搞定了,
select dm,dmhy,(select count(*) from two a where a.whcd = b.dm) from one a;
希望大家能写出其它的方法,研究研究。。
相关推荐
发帖
Oracle 高级技术

3472

社区成员

Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
帖子事件
创建了帖子
2004-09-21 09:15
社区公告
暂无公告