所以我有2个表格,比赛和团队,我想要做的是从比赛中获取一些值,并且内部加入“团队”以获取两个团队的名称,然后将它们添加到php数组中(将它们全部合并在一起) sql)

Matches
- IDMatch
- IDLocalTeam
- IDVisitorTeam
- Time
- Half
- Stopped
Teams
- IDTeam
- name


我现在所拥有的是

$query = "SELECT * FROM `Matches`
          INNER JOIN `Teams` ON `Matches`.IDLocalTeam = `Teams`.IDTeam
          UNION SELECT * FROM `Matches` INNER JOIN `Teams`
          ON `Matches`.IDVisitorTeam = `Teams`.IDTeam
          ORDER BY IDMatch DESC;";


如果有人可以帮助我,那就太好了!非常感谢

最佳答案

两次使用INNER JOIN会更容易吗?无论如何,这绝对是更快的联接方式。

SELECT
    *
FROM
    `Matches` m
INNER JOIN `Teams` t1
    ON m.IDLocalTeam = t1.IDTeam
INNER JOIN `Teams` t2
    ON m.IDVisitorTeam = t2.IDTeam
ORDER BY
    m.IDMatch DESC;


同时也开始使用别名而不是表名来标识查询中的字段,这将使SQL小得多。

关于php - 具有内部联接的UNION SELECT表和带有“ALIAS”的GET值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33445922/

10-12 20:11