SQL将三个SELECT联接合并到一个表中

SQL将三个SELECT联接合并到一个表中,sql,join,concat,Sql,Join,Concat,曲棍球应用程序。必须查询表2中的所有行,并显示球员姓名而不是球员ID *注意:新的堆栈溢出格式很抱歉 表1:球员 ╔═════════════════════╗ ║ id | fname | lname ║ ╠═════════════════════╣ ║ 1 | Jason | McFee ║ ║ 2 | John | Smith ║ ║ 3 | Jack | Doe ║ ╚═════════════════════╝ 表2:活动和目标 ╔════════════

曲棍球应用程序。必须查询表2中的所有行,并显示球员姓名而不是球员ID

*注意:新的堆栈溢出格式很抱歉


表1:球员

╔═════════════════════╗
║ id | fname | lname  ║
╠═════════════════════╣
║ 1 | Jason | McFee   ║
║ 2 | John | Smith    ║
║ 3 | Jack | Doe      ║
╚═════════════════════╝

表2:活动和目标

╔═════════════════════════╗
║ id  g_id  a1_id  a2_id  ║
╠═════════════════════════╣
║ 1   1  2  3             ║
║ 2   3  1  2             ║
║ 3   2  1  3             ║
╚═════════════════════════╝

我试图做的是从事件和目标中获取每一行,并返回匹配的玩家名称

我想要完成的是:玩家的名字被执行了,我不需要名字旁边的(#)来引用玩家id

表3

╔════════════════════════════════════════════════╗
║ id  goal  assist1  assist2                     ║
╠════════════════════════════════════════════════╣
║ 1  Jason McFee(1)  John SMith(2)  Jack Doe(3)  ║
║ 2  Jack Doe(3)  Jason McFee(1)  John Smith(2)  ║
║ 3  John Smith(2)  Jason McFee(1)  Jack Doe (3) ║
╚════════════════════════════════════════════════╝
我所做的

我尝试了一系列不同的查询,这是迄今为止最好的查询

SELECT players.fname AS GFN, 
       players.lname AS GLN 
FROM   events_goals 
       LEFT JOIN players 
              ON events_goals.g_id = players.playerid 
这将返回:

╔═══════════════╗
║ GFN  GLN      ║
╠═══════════════╣
║ Jason  McFee  ║
║ Jack  Doe     ║
║ John  Smith   ║
╚═══════════════╝

我可以为Assists1和assists2运行相同的代码,但我无法成功地将所有3个SELECT查询连接在一起,理想情况下,我希望将名字和姓氏列连接到一个单元格中,但我可以不使用它,主要的事情是将所有id转换为名称

JOIN
table
players
在table
event\u goals
上三次,因为有三列依赖于
players.id

SELECT  a.ID,
        CONCAT_WS(' ', b.fname, b.lname) goal,
        CONCAT_WS(' ', c.fname, c.lname) assist1,
        CONCAT_WS(' ', d.fname, d.lname) assist2
FROM    event_goals a
        INNER JOIN players b
            ON a.g_id = b.id
        INNER JOIN players c
            ON a.a1_id = c.id
        INNER JOIN players d
            ON a.a2_id = d.id
ORDER   BY a.id