这个查询给出了值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;
你的查询有点奇怪。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
并且没有匹配项(一般而言)。