【问题标题】:Getting Two items from Same table in SELECT statment在 SELECT 语句中从同一个表中获取两个项目
【发布时间】:2010-04-18 02:54:03
【问题描述】:

我需要一个 SQL SELECT 语句来提取两个团队的名称,从同一个表中获取两个团队。例如下面

SELECT sport_activity_id, (team A), (team B), date, time 
FROM sportactivity, teams 
WHERE competition_id_fk = 2

对于(团队 A)和(团队 B),我有一个 team_id,它是表“团队”的 FK

是否可以通过 SQL 从这些表中得到以下结果? 1, 巴塞罗那, 阿森纳, 01/01/2000, 20:00

这两个表如下:

桌上运动

sport_activity_id, home_team_fk, away_team_fk, competition_id_fk, date, time

(元组示例)-> 1, 33, 41, 5, 2010-04-14, 05:40:00

桌队

team_id, team_name

(元组示例)-> 1,阿尔及利亚

【问题讨论】:

    标签: sql select


    【解决方案1】:

    是的,您只需加入团队两次:

    SELECT sport_activity_id, T1.team_name, T2.team_name, date, time 
    FROM sportactivity
    JOIN teams T1 ON home_team_fk = T1.team_id
    JOIN teams T2 ON away_team_fk = T2.team_id
    WHERE competition_id_fk = 2
    

    【讨论】:

      【解决方案2】:
      SELECT sport_activity_id, teamA.team_Name, teamB.team_Name, date, time 
      FROM sportactivity
      INNER JOIN teams teamA ON sportactivity.home_team_fk = teamA.team_ID
      INNER JOIN teams teamB ON sportactivity.away_team_fk = teamB.team_ID
      WHERE competition_id_fk = 2
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-28
        • 2019-05-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多