我有以下選擇查詢:SQL刪除與SELECT
SELECT opt.product_option_id
FROM `oc_product_option_value` AS opt_val, `oc_product_option` AS opt
WHERE `opt`.`product_option_id` = `opt_val`.`product_option_id`
AND `opt_val`.`price` = '0.0000'
我以爲我可以使用,在一個delete
查詢:
DELETE oc_product_option, oc_product_option_value FROM oc_product_option
INNER JOIN oc_product_option_value
WHERE `oc_product_option`.`product_option_id` = `oc_product_option_value`.`product_option_id`
AND `oc_product_option_value`.`price` = '0.0000'
但是,在oc_product_option
刪除所有行。那麼我做錯了什麼?
一切都在oc_product_option的id範圍'oc_product_option'過的''0.0000''價格將是我的第一個猜想。 –
@戈登林諾夫,事實並非如此。 'oc_product_option'中沒有'價格'表。在第二張表('oc_product_option_value')中,價格確實是'0.0000',但也有一些價格爲'0.8260' ... – Mathlight
[Your code works fine](http://sqlfiddle.com/#! 2/a38fb/1/0)。我唯一的猜測就是戈登的第一次。 – OGHaza