我有两张桌子,comp_product和comp_product_marchand.
将comp_product包含产品信息(描述,名称等)
将comp_product_marchand含有不同的价格(产品经销商).每个经销商都有产品价格.但不适用于所有产品
我想只为每个经销商提供一个SQL查询产品列表及其价格(即使经销商没有)
我有这个SQL查询:
SELECT
p.id_product,
pm.price
FROM comp_product_marchand pm
LEFT OUTER JOIN comp_product p
ON p.id_product = pm.id_product
WHERE id_marchand = 4
Run Code Online (Sandbox Code Playgroud)
(WHERE子句仅用于演示)
这个SQL查询返回有价格的产品的价格,而不是其他产品...任何想法?
更改表之间的链接:
SELECT
p.id_product,
pm.price
FROM comp_product p
LEFT OUTER JOIN comp_product_marchand pm
ON p.id_product = pm.id_product
AND id_marchand = 4
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您将显示所有产品,如果marchand = 4,则会显示有关marchand的信息.
我把查询放在ON子句中的marchand ID上,因为如果你将它放在WHERE子句中,你将切断marchand没有该产品的所有行