设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2699|回复: 5
打印 上一主题 下一主题

[查询] 求助:一对多关系表的查询问题

[复制链接]
跳转到指定楼层
1#
发表于 2010-2-4 22:16:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
假设有表A和表B是一对多的关系。

表A举例:
ID  姓名  年龄
----------------------
1   张三  20
2   李四  30
------------------------
表B举例:

姓名   课程  成绩
-----------------------
张三   语文  80
张三   数学  90
李四   语文  90
李四   化学  70
-----------------------

表A和表B通过姓名进行联系

现在的要求如下:
如果一个人既有语文的成绩,又有数学的成绩,那么把这个人的姓名列出来(本例中符合要求的姓名是:张三)
请问要如何写查询语句呢?
谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2010-2-4 22:23:07 | 只看该作者
你试试看:
SELECT 表b.姓名
FROM 表b AS 表b_1 INNER JOIN 表b ON 表b_1.姓名 = 表b.姓名
WHERE (((表b.课程)="语文") AND ((表b_1.课程)="数学"));
3#
 楼主| 发表于 2010-2-4 22:31:19 | 只看该作者
谢谢!
请问表b_1是什么意思?
怎么没看到语句中有“表A”的字样?
4#
 楼主| 发表于 2010-2-4 23:00:12 | 只看该作者
实际试过成功了,谢谢!
似乎是把表B做了个复制,两表联合查询,找出同时满足课程是语文和数学的记录
是这个思路吗?
5#
发表于 2010-2-4 23:06:19 | 只看该作者
是的
表B的姓名用表A的ID比较规范
6#
 楼主| 发表于 2010-2-4 23:13:32 | 只看该作者
放在我的数据库里运行通过!
非常感谢!重要的是学到了思路,关键是对B的复制以及B和B复制表之间的联合
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-15 05:12 , Processed in 0.110422 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表