2012-12-21 33 views
0

我有以下查詢我一直在使用它的作品不夠好,顯示記錄的我想刪除在phpMyAdmin:刪除記錄,其中表B = Y(域)x

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' 

然後我檢查所有記錄,然後刪除它們。這是相當快速和無痛的,但我需要一個查詢,將自動刪除這些記錄,所以我可以自動與其他一些查詢計劃爲每小時運行一次。任何和所有的幫助,將不勝感激。我知道如何刪除記錄,但由於我從兩張不同的表格中選擇了一些東西,因此我不確定這裏使用的語法是否正確,我不想搞砸任何東西。

+0

你想每小時刪除? – bonCodigo

+1

如果您只是想刪除與上面的SELECT匹配的記錄,爲什麼不直接使用DELETE來處理同一個WHERE子句? – RonaldBarzell

回答

0
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' 
0

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

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: Selecting rows to delete via joins