【问题标题】:PHP mysql join tables return all resultsPHP mysql连接表返回所有结果
【发布时间】:2012-02-02 21:06:22
【问题描述】:

我在解决某些问题时遇到了一些困难。我有以下 2 个表:

夹具 id、主队、客队、日期时间

饲料 id, homeodd, drawodd, awayodd fixtureid

feed 表中的 fixtureid 与 fixture 表中的 id 列相同。我遇到的问题是只有 10 个灯具有 homeodd 或 drawodd 或 awayodd,但我仍然想显示所有灯具,如果可用的话,只显示来自 homeodd/drawodd/awayodd 的数据。

到目前为止,我已经得到了以下语句,但它只通过匹配的 feed fixtureid 匹配它:

SELECT fixture.id, hometeam, awayteam, datetime, feed.fixtureid AS fix_id, feed.homeodd, feed.drawodd, feed.awayodd FROM fixture JOIN feed feed ON feed.fixtureid = fixture.id

就像我说的那样,这只返回 10 个选项而不是 360 可用,因为它看起来只是在提取在 feed 表中匹配的数据。

我有什么想法可以实现所有的固定装置并在表格中显示数据吗?

【问题讨论】:

    标签: mysql sql join


    【解决方案1】:

    您只需要一个LEFT JOIN - 这将为您提供“左”表上的所有行,以及“右”表中没有对应行的空值:

    SELECT fixture.id, hometeam, awayteam, datetime, feed.fixtureid AS fix_id, 
           feed.homeodd, feed.drawodd, feed.awayodd 
    FROM fixture 
    LEFT JOIN feed feed ON (feed.fixtureid = fixture.id)
    

    【讨论】:

      【解决方案2】:
      SELECT fixture.id, hometeam, awayteam, datetime, feed.fixtureid AS fix_id, feed.homeodd, feed.drawodd, feed.awayodd 
      FROM fixture 
          LEFT JOIN feed ON (feed.fixtureid = fixture.id)
      

      【讨论】:

        猜你喜欢
        • 2021-03-15
        • 2015-06-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-31
        • 1970-01-01
        • 2018-02-14
        相关资源
        最近更新 更多