标题:Select语句实现的一个问题
取消只看楼主
zhaozhiwei
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2007-7-19
结帖率:100%
 问题点数:0 回复次数:6 
Select语句实现的一个问题

求参加人数最多的社会团体的名称和参加人数
用select怎么实现啊?
我这样写的 ,结果报错。
select 社会团体.编号, 社会团体.名称 , max(count(职工号))
from 参加, 社会团体
where 社会团体.编号=参加.编号
group by 社会团体.编号,社会团体.名称 ;
大家来帮一下忙
表结构如下
职工(职工号,姓名,年龄,性别)
社会团体(编号,名称,负责人,活动地点)
参加(职工号,编号,参加日期)

搜索更多相关主题的帖子: Select 语句 
2007-11-10 18:22
zhaozhiwei
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2007-7-19
得分:0 

楼上的学长真厉害
我有学到了很多知识
不过我还有一个问题
就是
查找参加了职工号为 “1102”的职工所参加的全部社会团体的职工号
我是这么写的,你看对不,我看不对,但我不知道怎么修改。
select 职工号
from 职工
where not exists (
select *
from 社会团体
where not exists(
select *
from 参加
where 职工.职工号 = 参加.职工号 and 社会团体.编号=参加.编号 and 参加.职工='1002'));


择晴日,访友欢。无限天涯各一边,亲谊心相连。品美食,游山川。闲来无事灌论坛,幸福至年年。
2007-11-10 19:18
zhaozhiwei
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2007-7-19
得分:0 
嗯 谢谢版主了 !

择晴日,访友欢。无限天涯各一边,亲谊心相连。品美食,游山川。闲来无事灌论坛,幸福至年年。
2007-11-10 19:58
zhaozhiwei
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2007-7-19
得分:0 
版主可在呀 , 发现问题了。
你的理解有误啊 要求是要查找参加了职工号为 “1002”的职工所参加的全部社会团体的职工号
你的测试数据不完整吧,
如果1002参加了两个团体或更多的话,
select a.职工号,a.姓名,a.年龄,性别=case when a.性别=1 then '男' else '女' end
from 职工 a,(select 编号 from 参加 where 职工号='1002') b,参加 c
where a.职工号=c.职工号 and b.编号=c.编号
这几句话的功能就是查找只要参加了 1002所参加的任意一个团体 的职工了,
而题目的意思是查找 那些参加了 1002所参加的全部团体 的职工
是不是?那该怎么改呢?

择晴日,访友欢。无限天涯各一边,亲谊心相连。品美食,游山川。闲来无事灌论坛,幸福至年年。
2007-11-10 21:15
zhaozhiwei
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2007-7-19
得分:0 
版主可在呀 , 发现问题了。
你的理解有误啊 要求是要查找参加了职工号为 “1002”的职工所参加的全部社会团体的职工号
你的测试数据不完整吧,
如果1002参加了两个团体或更多的话,
select a.职工号,a.姓名,a.年龄,性别=case when a.性别=1 then '男' else '女' end
from 职工 a,(select 编号 from 参加 where 职工号='1002') b,参加 c
where a.职工号=c.职工号 and b.编号=c.编号
这几句话的功能就是查找只要参加了 1002所参加的任意一个团体 的职工了,
而题目的意思是查找 那些参加了 1002所参加的全部团体 的职工
是不是?那该怎么改呢?

择晴日,访友欢。无限天涯各一边,亲谊心相连。品美食,游山川。闲来无事灌论坛,幸福至年年。
2007-11-10 21:18
zhaozhiwei
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2007-7-19
得分:0 
你试试再在你的参加表中让1002再添加一个社团,看看那结果怎样
在我的实验中怎么有错呢

择晴日,访友欢。无限天涯各一边,亲谊心相连。品美食,游山川。闲来无事灌论坛,幸福至年年。
2007-11-11 20:47
zhaozhiwei
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2007-7-19
得分:0 
嗯 就像12楼的说得差不多,但是不全。
就是说要是1002参加了1号,2号社团,那么就查询这样的职工:
这些职工必须参加了1,2号社团,可以多参加其他社团。例如,1001参加了1,2,3号社团。1003参加了1,2号社团,而1004只参加了1号社团,那么就查出1001,1003号职工,而没有1004号职工。
不知道这样表达你有没有清楚我的意思?
昨天断网了,上不了,不好意思啊……

择晴日,访友欢。无限天涯各一边,亲谊心相连。品美食,游山川。闲来无事灌论坛,幸福至年年。
2007-11-12 16:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-185069-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.120635 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved