2012-04-18 6 views
2

したがって、最初の列はIDで構成され、最後の列は日付で構成された3列の表があります。私が必要とするのは、日付でテーブルをソートし、後で日付が重複しているIDを削除し(最も古い日付のIDを保持する)ことです。例えば 、 これは私のテーブルには、もともとどのように見えるかである -2番目の重複行だけが削除された表を表示し、最初の行は保持する

  • 123ライアン2011年1月1日
  • 345カール・2011年3月1日
  • 123リサ2012年1月2日
  • 870ティヤ2012年6月3日
  • 345カールは、2012年7月1日

は、私は私の結果表は次のようになりたい -

  • 123ライアン2011年1月1日
  • 345カール・2011年3月1日
  • 870ティヤ2012年6月3日

私はのための解決策を見つけるためにVBAアクセスコードを使用していますSQLクエリを使用していましたが、私の結果として得られたテーブルには何も重複がなく、すべてのレコードが表示されます。 助けていただければ幸いです。

+0

は、あなたのテーブルにあなたのためのオプションを一意のIDを追加していますか? – Fionnuala

+0

残念ながら、そうではありません。一意のIDなしでこのテーブルの結果を表示する新しいテーブルを作成することはできますが(それが役立つ場合)。残りの複製されていないレコードを含む重複レコードのそれぞれの最初の行を表示したいだけです。 – Nams

答えて

2

これは新しいテーブルを作成します。

SELECT tbl.SName, a.ID, a.BDate 
INTO NoDups 
FROM tbl 
INNER JOIN (
    SELECT ID, Min(ADate) As BDate 
    FROM tbl GROUP BY ID) AS a 
ON (tbl.ADate = a.BDate) AND (tbl.ID = a.ID); 
+0

本当にありがとうございます。それは完全に働いた:) – Nams

関連する問題