我有一个相当长的查询,但我简化为:
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但无法找到所需的结果。
答案 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;