我认为很长一段时间以来,因为我对sql数据库做过任何关于查询的事情。 我有两张桌子:
Player
:id, name, surname
Team
:id, team_name, player1_id, player2_id
如何编写选择查询以获取team_name
,1st_player_name
,2nd_player_name
等输出?
我重复了基础知识,但这可以让我重新开始。
答案 0 :(得分:1)
怎么样
SELECT
t.team_Name,
p1.name + ' ' + p1.surname AS '1st_player_name',
p2.name + ' ' + p2.surname AS '2nd_player_name'
FROM
team t
INNER JOIN
player p1 ON t.player1_id = p1.id
INNER JOIN
player p2 ON t.player2_id = p2.id
你基本上需要将球队加入到球员桌面两次 - 两位球员中的每一位一次。由于我假设一个团队总是必须同时拥有一个玩家#1和#2,你可以为每个玩家使用一个INNER JOIN
- 这意味着它将匹配团队和玩家表的相等(team.player1_id = player.id
和team.player2_id = player.id
)在这些表之间。