0

customerid、 purchasated 、purchasenumberoperationidの4列のテーブルがあります。このテーブルは、別のクエリの結果として返されます。

最新の日付を持つ顧客を除いて、重複する顧客を排除したいと思います。

例:購入したものが異なるが、同じ操作IDと同じ顧客IDを持つ4つのエントリがある場合は、最新のものを保持したいと思います。

4

1 に答える 1

1
DELETE FROM YourTable ;
  WHERE PurchaseDate < ;
    (SELECT MAX(PurchaseDate) ;
       FROM YourTable YT2 ;
       WHERE YT2.CustomerID = YourTable.CustomerID ;
         AND YT2.OperationID = YourTable.OperationID)

これで解決するはずですが、最新の日付に同じ customerID と operationID のレコードが複数ある場合は、それらすべてを保持します。

これはテストされていないため、試す前に必ずデータをバックアップしてください。

于 2012-09-20T20:46:09.297 に答える