关于使用group by 返回多列的子查询问题

东方先生-java程序猿 2013-07-16 05:16:53
有两张表:
表1:ZDHMD(中文:招待会名单),表2:ZDH(招待会)
表1的表结构为:
XH(主键),ND(年度),ZDHNM(外键,对应表2:ZDH),XM(姓名),JX(军衔),DWZW(单位及职务),BZ(备注)
表2的表结构为:
XH(主键),ZDHNM(招待会名称的内码,和主键基本一样,也是唯一性的值),ZDHMC(招待会名称)
要通过这两张表实现这样的功能:
根据姓名、单位职务,统计参加招待会的次数。
原来的sql是这样拼写的:
SELECT XM,DWZW,COUNT(ZDHNM) AS CS FROM ZDHMD GROUP BY XM,DWZW.
这样能够实现一个统计、查询的功能。但是有一个弊端。
通过这种查询只能返回3列数据,但是项目开发中要求查询出表1中所有的信息(年度不用展示).

希望大家提供思路。谢谢!
...全文
238 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
谢谢各位!进行了需求调整。
回复
shy315 2013-07-16
一句用group by 一句不用group by union all,然后排序
回复
客户要求这样,需求不能进行改变,这个我也想了很长时间,各位说的也有道理,就是想问下一下,有没有其他方式来实现。
回复
hh7yx 2013-07-16
需求都不合理、、就谈实现,搞笑么
回复
shadow1986a 2013-07-16
需求有问题吧,如果表1中的所有字段都显示出来还叫统计吗, 直接查询得了。
回复
用left join 你的查询只是查出来表一中的数据..没有跟表2做关联呀
回复
相关推荐
发帖
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2013-07-16 05:16
社区公告
暂无公告