我知道这应该很容易,但是我看不到森林覆盖树木。
TABLE 1
GNUM
Team1
Team2
TABLE 2
GNUM
ID
TeamID
对于表1中的每个记录,表2中可以有多个相关记录
这是我似乎无法弄清楚的
我需要一个查询,该查询将告诉我何时表2中没有针对特定游戏的特定团队的记录
For Example
TABLE1
GNUM Team1 Team2
1 A B
2 A C
3 B A
4 C B
5 B A
TABLE 2
GNUM TeamID
1 A
1 B
3 B
4 B
4 B
4 B
鉴于上述情况,我需要一个查询,该查询将向我显示表2中缺少记录的所有游戏。例如:
GNUM Missing Team
2 A
2 C
3 A
4 C
5 B
5 A
最佳答案
您可以为此使用UNION
和LEFT JOIN
:
SELECT a.*
FROM (SELECT GNUM, Team1
FROM TABLE1
UNION
SELECT GNUM, Team2
FROM TABLE1
)a
LEFT JOIN TABLE2 b
ON a.GNUM = b.GNUM
AND a.Team1 = b.TeamID
WHERE b.TeamID IS NULL
关于sql - MSSQL查询帮助?应该很简单,但是我必须喝点咖啡吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18342668/