This is my query:
UPDATE
`product_pricing`
SET `formula_id`= '2'
WHERE 1
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'
How would I incorporate the SELECT query with the update query?
I need to only update products that have product_sizes.wheel = '13'
but to get this information, I need a few left joins.
You can use this update with LEFT JOIN and 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'
I think an INNER JOIN
is needed here:
update product_pricing
INNER JOIN products_ids ON product_pricing.id = products_ids.id
INNER JOIN product_attributes ON products_ids.link_id = product_attributes.fty_id
INNER JOIN product_sizes ON product_attributes.size_id = product_sizes.size_id
SET product_pricing.formula_id= '2'
WHERE product_sizes.wheel = '13'
try this
update product_pricing p
LEFT JOIN products_ids pi ON p.id = pi.id
LEFT JOIN product_attributes pa ON pi.link_id = pa.fty_id
LEFT JOIN product_sizes ps ON pa.size_id = ps.size_id
SET p.formula_id= '2'
WHERE
ps.wheel = '13'
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.