【发布时间】:2021-09-21 16:15:47
【问题描述】:
我需要创建一个查询,列出所有能够在一个国家/地区使用所有必需语言的人。我有 3 个表(国家 / 语言 / 人) 问题是我在国家和人表之间没有链接,但每个表都有一个外键“Language_Id”。我的目标是列出每个拥有与 Country 一样多的语言的人。 这是一个例子:
餐桌人:
ID Name Language_ID
1. 1 Paul 1
2. 2 Paul 2
3. 3 Max 1
4. 4 Ben 2
5. 5 Paul 3
6. 6 Ben 3
表格语言:
ID Name
1. 1 English
2. 2 Dutch
3. 3 French
餐桌国家:
ID Name Language_ID
1. 1 France 3
2. 2 Netherlands 1
3. 3 Netherlands 2
4. 4 Belgium 2
5. 5 Belgium 3
结果表:
Name Country_Name
1. Paul France
2. Paul Netherlands
3. Paul Belgium
4. Ben Belgium
5. Ben France
因此,Max 被排除在结果之外,因为他没有所有必需的语言。
我正在运行 SQL Server 2016 标准版。
你能帮我找到解决办法吗?
谢谢!
【问题讨论】:
-
为什么 Ben 只出现在比利时而不是法国,他拥有法国所需的所有语言?
-
我的错...你明白了,我只是编辑帖子。抱歉弄错了
-
你能标记你正在使用的特定 SQL 风格吗?
-
我正在开发 2016 SQL server Std 版本
标签: sql sql-server join group-by foreign-keys