0

tbl_Billing からレコードを削除したいのですが、この関数の実行中に LIMIT を使用したいと考えています。INNER JOIN または LEFT JOIN を使用して可能かどうかを提案してください。クエリは以下です

DELETE
FROM tbl_Billing
WHERE `aCreated` > '2011-01-09'
AND `aStatus` ='2'
AND `aUserUnique`
IN (

SELECT aUserUnique
FROM tbl_Users AS user
WHERE user.`aBillingRenew` < date_sub( now( ) , INTERVAL 60 DAY )
AND user.aActive =1
  )
4

1 に答える 1

1

答えがわかりました。演算子EXISTSの代わりに使用する必要があります。IN

DELETE
FROM tbl_Billing
WHERE `aCreated` > '2011-01-09'
AND `aStatus` ='2'
AND EXISTS 
( 
  SELECT aUserUnique
  FROM tbl_Users AS users
  WHERE users.`aBillingRenew` < date_sub( now( ) , INTERVAL 60 DAY )
  AND users.aActive ='1'
)
limit 10
于 2013-06-13T13:39:54.397 に答える