麻烦加入两个表 - 没有结果

时间:2013-11-18 22:05:24

标签: mysql sql select join left-join

我有一个名为phpbb_pcp_market的表,其中包含以下行:http://pastebin.com/ZAFjawD8(显然还有更多)

我还有另一个名为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。

2 个答案:

答案 0 :(得分:0)

使用SQL代码,一切都很好。

如果出现问题,请查看其余的PHP代码。该错误与SQL部分无关;)

答案 1 :(得分:-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