左连接不返回值

时间:2013-04-30 12:21:05

标签: mysql left-join

此查询为null提供accessories_type.type的值,但此表包含值:

SELECT accessories.id, accessories.name, accessories_type.type
FROM accessories
LEFT JOIN accessories_type ON accessories_type.type = accessories.accessories_type_id;

1 个答案:

答案 0 :(得分:0)

您的查询有点奇怪。 accessories_type.type子句中的值select与用于连接的值相同。

假设类型表中没有重复的行,您可以通过执行以下操作获得相同的效果:

select id, name, accessories_type_id
from accessories

您的查询还在第二个表中查找匹配项。没有匹配项时,您将获得NULL。

通常情况下,我会在accessories_type.typename中看到select之类的内容。这给了我一个想法。也许你的意思是:

SELECT accessories.id, accessories.name, accessories_type.type
FROM accessories
LEFT JOIN accessories_type ON accessories_type.id = accessories.accessories_type_id;

也就是说,你应该加入id。您正在加入name并且没有匹配(一般情况下)。