这段代码出了什么问题?
FROM product_tag, ps_product_tags_all
LEFT JOIN users ON
users.id = product_tag.lang
LEFT JOIN images ON
images.id = ps_product_tags_all.lang
错误:
Unknown column 'product_tag.lang' in 'on clause'
答案 0 :(得分:4)
您正在混合隐式和显式联接并以错误的顺序加入。试试这个:
SELECT *
FROM ps_product_tags_all
LEFT JOIN images ON
images.id = ps_product_tags_all.lang, product_tag
LEFT JOIN users ON
users.id = product_tag.lang
WHERE ...
请记住,显式JOIN的优先级高于使用逗号的隐式连接。为避免此错误,我建议您始终使用显式连接:
SELECT *
FROM ps_product_tags_all
LEFT JOIN images ON images.id = ps_product_tags_all.lang
LEFT JOIN product_tag ON ...
LEFT JOIN users ON users.id = product_tag.lang
答案 1 :(得分:2)
这不是语法错误,而是结构错误 - “product_tag”表中没有“lang”列。