MySQL - LEFT JOIN无法按预期工作

时间:2016-02-15 11:27:33

标签: mysql

我有2张桌子。

attribute
=========
ID  Name
-------------------
1   Size
2   Colour


product_attribute
=========
ID  attribute_id
-------------------
1   1

我想显示属性表中包含的product_attribute表中缺少的任何值。

当我预期“颜色”时,此代码会产生“大小”。我错过了什么?

SELECT name FROM attribute a LEFT JOIN product_attribute p ON a.id = p.attribute_id

2 个答案:

答案 0 :(得分:4)

SELECT a.name FROM attribute a 
LEFT JOIN product_attribute p ON a.id = p.attribute_id
where p.attribute_id is null

答案 1 :(得分:0)

你可以改用它:

SELECT name FROM attribute where ID  not in (select attribute_id from product_attribute)