2013-11-18 3 views
0

У меня есть таблица с именем phpbb_pcp_market с этими строками: http://pastebin.com/ZAFjawD8 (Есть более очевидно)Trouble объединения двух таблиц - Нет результатов

И у меня есть другая таблица с именем phpbb_pcp_market_cart который выглядит следующим образом:

+----+---------+-----------+------------+ 
| id | item_id | player_id | time  | 
+----+---------+-----------+------------+ 
| 14 |  49 |   3 | 1384806292 | 
+----+---------+-----------+------------+ 

Мне нужно присоединиться к этим двум таблицам на основе item_id, но по какой-то причине он не работает.

Это запрос, я использовал:

SELECT m.*, c.* FROM (phpbb_pcp_market_cart c) 
    LEFT JOIN phpbb_pcp_market m 
     ON (c.item_id = m.item_id) 
    WHERE c.player_id = 3 
    ORDER BY c.time 

По некоторым причинам, он никогда ничего не возвращая.

Я не могу понять, что я сделал неправильно в запросе. И нет, я плохо разбираюсь в SQL.

+0

Ваш запрос, учитывая данные, которые вы описываете, должен возвращать хотя бы одну строку. Можете ли вы пояснить, что вы подразумеваете под «возвращением ничего» и каким инструментом вы используете для запросов? –

+0

Вернувшись, я имею в виду, что он возвращает 0 строк. Я использую PHP для выполнения этого запроса. – Aborted

+0

Я не вижу ничего плохого. Этот запрос должен возвращать хотя бы одну строку (если у вас есть строка с 'phpbb_pcp_market_cart.player_id = 3', как вы говорите. Тогда проблема кроется в коде PHP. –

ответ

-1

Сначала проверьте свои данные, ваш запрос кажется ОК.

Если вы хотите, чтобы выбрать все элементы для конкретного player_id не используют LEFT JOIN но простой JOIN, потому что вы никогда не получите строки, где он может быть NULL. брекеты также могут быть опущены для простоты:

SELECT m.*, c.* FROM phpbb_pcp_market_cart c 
    JOIN phpbb_pcp_market m 
     ON c.item_id = m.item_id 
    WHERE c.player_id = 3 
    ORDER BY c.time 
+2

Как это поможет? – wvdz

+1

Я не думаю, что это поможет. Согласовано с вышеуказанным сообщением; сначала необходимо проверить данные. –

+0

Изменен ответ, чтобы лучше объяснить, как улучшить запрос. – Kacer

0

Все выглядит нормально с SQL-кода.

Посмотрите в остальной части своего PHP-кода, если что-то не так. Ошибка не связана с SQL-частью;)

Смежные вопросы