使用SQL SERVER中teams表中的团队名称进行SQL联接
我想在比赛日程中显示球队名称,我使用下面的查询,但它会使我得到相同名称的TeamA和TeamB使用SQL SERVER中teams表中的团队名称进行SQL联接,sql,sql-server,join,Sql,Sql Server,Join,我想在比赛日程中显示球队名称,我使用下面的查询,但它会使我得到相同名称的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
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
表格匹配
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,
'v' AS VS,
T2.Name AS TeamName, -- Should be T2.Name
Group
FROM Matches m
JOIN Team T ON m.TeamA_ID = T.Id
JOIN Team T2 ON m.TeamB_ID = T2.Id
在select中,选择t.Name两次,将第二个更改为t2.Name
SELECT m.ID AS MID, MatchDate,
t.Name AS TeamName, 'v' AS VS,
t2.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
只是打字错误。使用
t2.
而不是t.
来显示第二队的名字谢谢,我没有被注意到,等待了30分钟,因为我看不到小的类型/错误..是的,我们都经历过。你看着自己的错误,但能看到它。快乐编码
SELECT m.ID AS MID, MatchDate,
t.Name AS TeamName, 'v' AS VS,
t2.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