就一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

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


...全文
153 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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;
希望大家能写出其它的方法,研究研究。。

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧