mysql - 我怎样才能提出这个 sql join 请求
问题描述
如何获得:参加所有比赛的参赛者的姓氏 (nom)、名字 (prenom) 和年龄。我在计数和加入方面有困难。
我的用户表:
ID | 标称 | 前名词 | 登录 | 年龄 |
---|---|---|---|---|
1 | 韦纳 | 艾纳尔 | 克莱因维奥拉 | 79 |
2 | 啤酒 | 塞拉 | 认真的 | 71 |
3 | 吉娜 | 吕西安 | 卡辛达格玛 | 97 |
4 | 梅贝尔 | 德尔芬 | 黑雷普雷多维奇 | 91 |
5 | 厄普顿 | 埃尔文 | 压力 | 63 |
6 | 欧文 | 教授 | 克里斯托弗拉米 | 25 |
7 | 恩瑟 | 克林特 | 凯撒65 | 83 |
8 | 贝克特拉尔 | 希拉 | 索菲亚萨文 | 77 |
9 | 西蒙尼斯 | 雷明顿 | 克里斯塔法赫 | 35 |
10 | 巴黎人 | 明锐 | 锦绣 | 89 |
11 | 普雷多维奇 | 罗里 | 巴托莱蒂萨布里 | 78 |
12 | 将要 | 斯文 | 价格66 | 20 |
13 | 奥哈拉 | 佐伊 | 蒂芙尼威尔姆斯 | 96 |
14 | 麦格林 | 朱丽叶 | 高斯 | 74 |
15 | 沃尔特 | 马克西姆斯 | 阿曼丹金斯 | 63 |
16 | 哈恩 | 安德鲁 | 德鲁瑟福 | 77 |
17 | 昆泽 | 埃莉诺 | 齐曼瑟龙 | 95 |
18 | 乌苏拉 | 伊芙琳 | 科利奥德萨 | 64 |
19 | 克莱因 | 克尔斯滕 | darrellrunolfss | 96 |
20 | 切斯特 | 吕西安 | 杰米55 | 24 |
21 | 达伦 | 安托万 | 贾斯蒂娜27 | 60 |
22 | 博耶 | 哈维 | 海塞尔詹姆森 | 45 |
23 | 玉 | 吕西安 | 克帕加克 | 29 |
24 | 埃莉安 | 德尔芬 | 德尔法赫塞尔 | 75 |
25 | 朗 | 莎娜 | 索菲亚73 | 23 |
26 | 怀尔德曼 | 弗雷德里克 | shaina75 | 34 |
27 | 丹尼尔 | 艾米 | alene73 | 86 |
28 | 丹尼尔 | 罗达 | 寄养22 | 63 |
29 | 特朗托 | 汤米 | 博康纳 | 40 |
30 | 克卢克 | 阿道夫 | 斯坦顿 | 74 |
31 | 世厚博 | 大卫 | 大卫什博 | 20 |
32 | dfglskdsklj | dfvdvf | dfgdfg | 0 |
我的竞争对手表:
id_competitor | id_concours |
---|---|
1 | 1 |
2 | 1 |
3 | 1 |
4 | 1 |
5 | 1 |
6 | 1 |
7 | 1 |
8 | 1 |
31 | 1 |
9 | 2 |
10 | 2 |
11 | 2 |
12 | 2 |
13 | 2 |
14 | 2 |
15 | 2 |
16 | 2 |
17 | 2 |
18 | 2 |
31 | 2 |
1 | 3 |
2 | 3 |
3 | 3 |
4 | 3 |
5 | 3 |
19 | 3 |
20 | 3 |
31 | 3 |
2 | 4 |
4 | 4 |
6 | 4 |
8 | 4 |
10 | 4 |
12 | 4 |
14 | 4 |
16 | 4 |
18 | 4 |
20 | 4 |
1 | 5 |
3 | 5 |
5 | 5 |
7 | 5 |
9 | 5 |
11 | 5 |
13 | 5 |
15 | 5 |
17 | 5 |
19 | 5 |
我的比赛表:
ID | date_debut | date_fin | 描述 | 主题 | 等 |
---|---|---|---|---|---|
1 | 2019-01-01 00:00:00 | 2019-03-01 00:00:00 | Le Premier Concours de la Plateforme | Les zinzins de l'espace | 4 |
2 | 2018-01-01 00:00:00 | 2018-02-01 00:00:00 | Le deuxième concours de la plateforme | 工具 | 4 |
3 | 2020-04-01 00:00:00 | 2020-05-01 00:00:00 | Le troisième concours de la plateforme | Voiture sur autoroute | 2 |
4 | 2018-07-01 00:00:00 | 2018-08-11 00:00:00 | Le quatrième concours de la plateforme | 漩涡鸣人 | 3 |
5 | 2018-10-01 00:00:00 | 2018-11-01 00:00:00 | Le cinquième concours de la plateforme | 大海的大人 | 4 |
解决方案
这应该返回参加所有比赛的所有用户的姓名、名字和年龄:
SELECT nom, prenom, age
FROM user
WHERE (SELECT count(DISTINCT id_concours) FROM competitors WHERE id_competitor = user.id) = (SELECT count(*) FROM competitons);
推荐阅读
- mysql - 提取存储在 MySQL 字段中的第三级文件夹结构
- c - 预期或意外的分段错误?
- c# - dnSpy 显示异步方法的奇怪反汇编代码
- c# - System.InvalidOperationException:“必须在调用“PrepareDocumentRenderer”之前设置“DocumentRenderer”。
- swiftui - SwiftUI:如何将视图附加到多行文本的结尾?
- javascript - 从cordova插件显示本机IOS按钮
- java - @ConfigurationProperties 如何在 Spring 内部工作
- laravel - 动态创建 env 文件 laravel
- compilation - Pro*C 程序在 AIX 中正常运行,但在 RHEL 中无法正常运行
- python - 将 Enum 转换为 List 时跳过元素