首页 > 解决方案 > 我怎样才能提出这个 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

标签: mysqlsqlcountinner-joinself-join

解决方案


这应该返回参加所有比赛的所有用户的姓名、名字和年龄:

SELECT nom, prenom, age
FROM user
WHERE (SELECT count(DISTINCT id_concours) FROM competitors WHERE id_competitor = user.id) = (SELECT count(*) FROM competitons);

推荐阅读