[英]Delete from a mysql table based on other 2 values
我想從表中刪除rk21a_virtuemart_product_categories
其中virtuemart_category_id
= 251和product_discount_id
從rk21a_virtuemart_product_prices
= 0
嘗試過此查詢,但無法正常工作(刪除了其中virtuemart_category_id
= 251的所有內容,而不同時刪除所有條件)
DELETE FROM rk21a_virtuemart_product_categories
WHERE virtuemart_category_id = 251
AND virtuemart_product_id IN (
SELECT virtuemart_product_id
FROM rk21a_virtuemart_product_prices
WHERE product_discount_id = 0)
這些表是:
**rk21a_virtuemart_product_categories**
id virtuemart_product_id virtuemart_category_id
12 119 160
13 121 251
15 122 173
20 123 251
和
**rk21a_virtuemart_product_prices**
virtuemart_product_price_id virtuemart_product_id product_discount_id
1021 119 5
1022 121 0
1023 122 0
1024 123 10
有人可以告訴我我在做什么錯嗎? 我是初學者。謝謝
嘗試以下方法:
DELETE c
FROM rk21a_virtuemart_product_categories AS c
INNER JOIN rk21a_virtuemart_product_prices AS p
ON c.virtuemart_product_id = p.virtuemart_product_id
WHERE c.virtuemart_category_id = 251
AND p.product_discount_id = 0;
在第一個表rk21a_virtuemart_product_categories
,有兩行的類別ID = 251,但是在第二個表中,只有兩行的rk21a_virtuemart_product_categories
.product_discount_id = 0
,因此將僅刪除一行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.