質問: accessの重複クエリで最小以外を削除したい あるテーブルに id、janコード、価格、その他いくつかのフィールドがあります。 レコードの中から、janが重複しているデータで、価格が一番小さいものを残して残りを削除したいのですが、どうしたら良いでしょうか? 例) id jan 価格 111 1234567 100 ← このレコード 123 1234567 200 124 1234567 500 234 8765431 700 237 8765431 600 ← このレコード 354 8765431 800 こんな感じで、id100と237だけを生かして他を削除したいのです。 重複クエリで集計にして、最小を選ぶとidもグループ化されてしまって、 うまくいきません。 環境はwinxp pro+access2007です。 どなたか、ご教授のほど、よろしくお願いいたします。
回答: > id100と237だけを生かして他を削除 は id111と237だけを生かして他を削除 の間違いでしょうか 以下のクエリでどうでしょうか(一例) クエリのsqlビューに記述してみてください。 delete * from テーブル名 as t1 where id not in (select top 1 id from テーブル名 as q1 where q1.jan = t1.jan order by q1.価格); ※2か所の「テーブル名」は正式なものに置き換えてください。