簡體   English   中英

從表A中刪除記錄,其中表B中的字段x = y

[英]Delete records from table A where field x in Table B = y

我有以下查詢,我一直在使用,它可以很好地顯示我要在phpMyAdmin中刪除的記錄:

SELECT zen_customers_basket.*
FROM zen_customers_basket, zen_products
WHERE zen_customers_basket.products_id = zen_products.products_id
            AND zen_products.products_availability = 'out of stock'

然后,我檢查所有記錄,然后將其刪除。 這相當快捷且輕松,但是我需要一個查詢,該查詢將自動刪除這些記錄,因此可以將其與計划每小時運行一次的其他一些查詢自動化。 任何和所有幫助將不勝感激。 我知道如何刪除記錄,但是我不確定這里的語法正確,因為我正在從兩個不同的表中選擇內容,而且我不想弄亂任何東西。

DELETE zen_customers_basket
FROM zen_customers_basket, zen_products
WHERE zen_customers_basket.products_id =          zen_products.products_id
        AND zen_products.products_availability =    'out of stock'
    DELETE FROM Table  WHERE EXISTS (SELECT zen_customers_basket.*
FROM zen_customers_basket, zen_products
WHERE zen_customers_basket.products_id = zen_products.products_id
            AND zen_products.products_availability = 'out of stock')

https://stackoverflow.com/questions/8019957/delete-from-where-i n

使用與您的查詢相同的條件刪除。 不確定基於小時的刪除。 請澄清。

DELETE FROM zen_customers_basket
   INNER JOIN zen_products
   ON zen_customers_basket.products_id = zen_products.products_id
   WHERE zen_products.products_availability = 'out of stock'

參考: T-SQL:選擇要通過聯接刪除的行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM