У меня есть следующий запрос на выборку: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' имел цену' '0.0000'' будет моя первая догадка. –
@GordonLinoff, Это неправда. В 'oc_product_option' нет таблицы' price'. Во второй таблице ('oc_product_option_value') есть цены, которые действительно' 0,0000', но есть и некоторые с ценой '0.8260' ... – Mathlight
[Ваш код работает отлично] (http://sqlfiddle.com/#! 2/a38fb/1/0). Мое единственное предположение было бы первым Гордоном. – OGHaza