Таблицы соединения PHP mysql возвращают все результаты - PullRequest
1 голос
/ 03 февраля 2012

У меня возникли сложности с разработкой чего-либо.У меня есть следующие 2 таблицы:

приспособление id, hometeam, awayteam, datetime

feed id, homeodd, drawodd, awayodd fixtureid

В таблице подачи Fixtureid совпадает со столбцом id в таблице фикстур.у меня проблема только в том, что у 10 приборов есть homeodd или drawodd или awayodd, но я все еще хочу показать все приборы и просто показать данные из homeodd / drawodd / awayodd, если они доступны.

Пока яПолучили его в следующем утверждении, но он только перетаскивает спички, для которых сопоставлен фиксатор подачи:

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 доступных, так как выглядитпросто извлеките данные, у которых есть совпадение в таблице подачи.

Есть идеи, как мне добиться всех приборов и просто показать данные, если они есть в таблице?

Ответы [ 2 ]

0 голосов
/ 03 февраля 2012
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)
0 голосов
/ 03 февраля 2012

Вам просто нужен LEFT JOIN - это даст вам все строки в «левой» таблице и NULL, если в правой таблице нет соответствующей строки:

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...