使用 LEFT JOINS 进行 MySQL 更新

Bor*_*rsn 3 mysql sql

这是我的查询:

UPDATE 
    `product_pricing` 

SET `formula_id`= '2'

WHERE 1
Run Code Online (Sandbox Code Playgroud)
SELECT

product_pricing.id,
product_pricing.formula_id,
product_pricing.vat_calculated,

products_ids.id,
products_ids.link_id,

product_attributes.fty_id,
product_attributes.size_id,

product_sizes.size_id,
product_sizes.wheel

FROM product_pricing 

LEFT JOIN products_ids ON product_pricing.id = products_ids.id
LEFT JOIN product_attributes ON products_ids.link_id = product_attributes.fty_id
LEFT JOIN product_sizes ON product_attributes.size_id = product_sizes.size_id

WHERE

product_sizes.wheel = '13'
Run Code Online (Sandbox Code Playgroud)

如何将 SELECT 查询与更新查询结合起来?

我只需要更新具有此信息的产品product_sizes.wheel = '13',但要获取此信息,我需要一些左连接。

Ham*_*Nig 5

您可以将此更新与 LEFT JOIN 和Where 一起使用

update product_pricing 
LEFT JOIN products_ids ON product_pricing.id = products_ids.id
LEFT JOIN product_attributes ON products_ids.link_id = product_attributes.fty_id
LEFT JOIN product_sizes ON product_attributes.size_id = product_sizes.size_id
SET product_pricing.formula_id= '2'
WHERE

product_sizes.wheel = '13'
Run Code Online (Sandbox Code Playgroud)