我应该在这里使用什么样的JOIN?

时间:2016-08-03 14:49:33

标签: mysql

我有一个相当长的查询,但我简化为:

SELECT p.ref, pl.name
FROM tpv_products p
LEFT JOIN tpv_products_languages pl 
ON p.id = pl.tpv_products_id
WHERE pl.tpv_languages_id = 2;

这些是表格:

tpv_products:

id | ref
--------
1  | ref1
2  | ref2
3  | ref3

tpv_products_language:

tpv_languages_id | tpv_products_id | name
---------------------------------------------
1                | 1               | Rice
1                | 2               | Corn
1                | 3               | Milk
2                | 1               | Arroz

我的查询得到了什么:

ref | name
----------
ref1| Arroz

我的期待:

ref | name
----------
ref1| Arroz
ref2| NULL
ref3| NULL

我已尝试过所有类型的JOINS但无法找到所需的结果。

1 个答案:

答案 0 :(得分:2)

只需添加条件即可加入pl.tpv_languages_id = 2

SELECT p.ref, pl.name
FROM tpv_products p
LEFT JOIN tpv_products_languages pl 
ON p.id = pl.tpv_products_id AND pl.tpv_languages_id = 2;