私は外部キーとDATETIMEタイムスタンプを含むテーブルを持っています。私は、タイムスタンプが最終タイムスタンプの日の始まりよりも遅いが、各アイテムごとに別々にすべての行を削除したいと思います。GROUP BYを使用したDELETEおよび集計条件
論理的に私はこのような何かしたい:
DELETE FROM Entries
WHERE StartTime > CONVERT(Date,MAX(StartTime))
GROUP BY ItemId;
をしかし、私はDELETEでGROUP BYを使用することはできません、また私は、WHERE条件にSUM()を使用することができます。
は、私はこのようなサブクエリを使用して、一度に1つのアイテムでそれらを削除することができます。
DELETE FROM Entries
WHERE [email protected]
AND StartTime > (
SELECT CONVERT(Date,MAX(StartTime)) FROM Entries
WHERE [email protected]
)
しかし、私は、単一のクエリ内のすべての項目の削除したいです。どうすればこれを達成できますか?クエリの
@dasblinkenlightが、私は、複数のアイテムIDのために削除したいです。上記の私の質問はItemIdを1つしか処理せず、アイテムごとにタイムスタンプチェックを適用します。上記のクエリは、一度に1つのItemIdのみを処理します。 – mtmacdonald
気にしなくても、クエリの '@ Id'パラメータが欠けていました。あなたの質問を編集して、以前のコメントを入力したときに思ったようにしました。 – dasblinkenlight