我想在比赛时间表中显示球队名称,我使用下面的查询,但它让我的 TeamA 和 TeamB 具有相同的名称
SELECT m.ID AS MID, MatchDate,
t.Name AS TeamName, 'v' AS VS,
t.Name AS TeamName, Group
FROM Matches m
JOIN Team T ON m.TeamA_ID = t.Id
JOIN Team T2 ON m.TeamB_ID = t2.Id
如何根据TeamA_ID、TeamB_ID获得正确的团队名称
桌面团队
ID
TeamName
TeamCountry
牌 table 比赛
ID
MatchDate
TeamA_ID
TeamB_ID
Location
Group
ID TeamName TeamCountry
1 TeamOne 100
2 TeamTwo 30
3 TeamThree 80
4 TeamFour 90
5 TeamFive 98
6 TeamSix 99
7 TeamSeven 200
8 TeamEight 14
ID MatchDate TeamA_ID TeamB_ID Location Group
1 01-01-2019 2 4 L1 A
2 02-01-2019 6 1 L1 A
3 04-01-2019 5 8 L1 B
4 06-01-2019 2 6 L1 B
5 10-01-2019 3 4 L1 C
6 16-01-2019 5 6 L1 C
我想要结果为
ID Date TeamName vs TeamName Location Group
1 01-01-2019 TeamTwo v TeamFour L1 A
2 02-01-2019 TeamSix v TeamOne L1 A
3 04-01-2019 TeamFive v TeamEight L1 B
4 06-01-2019 TeamTwo v TeamSix L1 B
5 10-01-2019 TeamThree v TeamFour L1 C
6 16-01-2019 TeamFive v TeamSix L1 C
最佳答案
只是一个简单的错误(您有两次t.Name
,而不是t2.Name
和t.Name
)
SELECT m.ID AS MID, MatchDate,
t.Name AS TeamName,
t2.Name AS TeamName,
...
关于SQL JOIN 与 SQL SERVER 中团队表中的团队名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55721308/