次のことを試してみてください...
DELETE SalesFact_Final_History_bk_04MAY
FROM SalesFact_Final_History_bk_04MAY
INNER JOIN (SELECT ROW_NUMBER() OVER (PARTITION BY Panel_ID ORDER BY Delivery_Date DESC) AS recordNumber,
Panel_ID AS Panel_ID,
Delivery_Date AS Delivery_Date
FROM (SELECT Panel_ID AS Panel_ID,
Delivery_Date AS Delivery_Date
FROM SalesFact_Final_History_bk_04MAY
GROUP BY Panel_ID,
Delivery_Date
) AS uniquePanel_IDDelivery_Date
) AS recordsToKeepFinder ON SalesFact_Final_History_bk_04MAY.Panel_ID <> recordsToKeepFinder.Panel_ID
AND SalesFact_Final_History_bk_04MAY.Delivery_Date <> recordsToKeepFinder.Delivery_Date
AND recordNumber > 2;
この文では、あなたの付属書(ここでは有用ではありませんサンセリフ発注、)によって生成されたリストを受け取り、そして、そのような方法でSalesFact_Final_History_bk_04MAY
でINNER JOIN
を行い、 SalesFact_Final_History_bk_04MAY
のレコードがではなく、という一致を持つと、SELECT
ステートメントの結果に一致し、が一致するレコードはすべてとなります。 SELECT
ステートメントで保持されているすべてのレコードは、SalesFact_Final_History_bk_04MAY
から削除されます。
ご不明な点がございましたら、お気軽にコメントを投稿してください。ここで
私はこれを完了するために、カーソルを使用することはできますか? もし私はあなたがどのようにイドを提案することができますか? –
実際にどのテーブルからレコードを削除しますか? –
SalesFact_Final_History_bk_04MAY –