SELECT oc_product.product_id, oc_product.quantity, oc_product.price, oc_product_description.name, oc_product_description.description
FROM oc_product
INNER JOIN oc_produsct_description ON oc_product.product_id = oc_product_description.product_id
WHERE oc_product.prodsuct_id = 1 AND oc_prodDuct_description.landuage_id = 5
在此查询中,存在oc_product_id = 1,但oc_product_description.language_id = 5不存在。
但是,如果语言5存在或不存在,我想获取id为1的产品的
答案 0 :(得分:2)
您需要left join
:
SELECT p.product_id, p.quantity, p.price, pd.name, pd.description
FROM oc_product p LEFT JOIN
oc_product_description pd
ON p.product_id = pd.product_id AND pd.language_id = 5
WHERE p.product_id = 1;
注意:
language_id
上的条件需要进入ON
子句,否则外连接将转换为内连接。答案 1 :(得分:0)
您需要使用LEFT JOIN而不是INNER JOIN,如下所示:
SELECT oc_product.product_id, oc_product.quantity, oc_product.price, oc_product_description.name, oc_product_description.description
FROM oc_product
LEFT JOIN oc_product_description ON oc_product.product_id = oc_product_description.product_id
WHERE oc_product.product_id = 1 AND oc_product_description.landuage_id = 5