accessで重複データの削除について
accessというよりSQLについてなのかと思いますが、教えていただけないでしょうか。
重複するIDがあり、1件を除いて他のデータを削除してデータを抽出したいです。
抽出条件としては、[年月日]カラムがあるため、日付が一番直近のものを残したいです。
※こちらも重複しております。
また、[フィルタ]カラムが「2」のレコードのみを対象としたいと思っています。
accessの場合、重複クエリを用いるのかと思い、クエリウィザードから作成しましたが
一意とはなりませんでした。
SELECT テーブル1.[共通ID], テーブル1.[連番], テーブル1.[郵便番号], テーブル1.[住所], テーブル1.[担当者名], テーブル1.[年月日], テーブル1.[フィルタ]
FROM テーブル1
WHERE (((テーブル1.[共通ID]) In (SELECT [共通ID] FROM [テーブル1] As Tmp GROUP BY [共通ID] HAVING Count(*)>1 )) AND ((テーブル1.[フィルタ])=2))
ORDER BY テーブル1.[共通ID], テーブル1.[年月日] DESC;
distinctも使ってみましたがうまくできませんでした。
何が原因でしょうか。
申し訳ありませんがご教示いただきたくお願いいたします。
お礼
実際のデータはこれ*3が1セットでそれが2セットあります。 それをぽちぽち登録していくんですが、 同じ作業が延々と続きいい加減薄れ行く意識の中、 渡された表に同じデータが入っていることに気付きました。 (ほんとは重複があったらイカンものなのです) それで、渡してきた人間に殺意を抱きつつ データを衝動的にAccessへとエクスポートしてみました。 >その後どうするかは質問からは読み取れませんが もちろん重複箇所を印刷して、 ・すでにやっちまったものをどうするのか ・他にも重複がないか(これ1つにあったなら多分他にもある) をお伺いします。 サラっとやり直しておいてと言われるでしょう。 >別テーブルに入れるなり、その分を消すなり、、、 印刷したいだけなら別にINSERTまでしなくて良い気がしてきました。 教えていただいた方法で重複箇所が分かったので それでテーブル全体から全項目を引っ張ってこようかと思います。 ありがとうございました・・。