从两个表中提取数据的SQL查询

时间:2014-03-31 18:03:41

标签: sql

我认为很长一段时间以来,因为我对sql数据库做过任何关于查询的事情。 我有两张桌子:

  • Playerid, name, surname
  • Teamid, team_name, player1_id, player2_id

如何编写选择查询以获取team_name1st_player_name2nd_player_name等输出?

我重复了基础知识,但这可以让我重新开始。

1 个答案:

答案 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.idteam.player2_id = player.id)在这些表之间。