午後/夕方すべて、
以下のクエリの最後の仕上げを探しています。特定の行の列の重複を削除する必要があります。現在、以下の SQL を使用しています。
SELECT CBNEW.*
FROM CallbackNewID CBNEW
INNER JOIN (SELECT IDNEW, MAX(CallbackDate) AS MaxDate
FROM CallbackNewID
GROUP BY IDNEW) AS groupedCBNEW
ON (CBNEW.CallbackDate = groupedCBNEW.MaxDate) AND (CBNEW.IDNEW = groupedCBNEW.IDNEW);
私の結果セットは以下のようになります
ID RecID Comp Rem Date_ IDNEW IDOLD CB? CallbackDate
138618 83209 1 0 2012-03-16 12:40:00 83209 83209 2 16-Mar-12
138619 83209 1 0 2012-03-16 12:40:00 83209 83209 2 16-Mar-12
110470 83799 1 0 2011-07-27 11:46:00 83799 83799 10 27-Jul-11
110471 83799 1 0 2011-07-27 11:46:00 83799 83799 10 27-Jul-11
ただし、テーブルには同じ IDNEW および CallbackDate 値を持ついくつかの異なる主キーがあるため、これにより CallBackDate および IDNEW 列に重複した値が表示されます。
この結果を Excel にダンプすると、最初の ID 列で重複を削除するだけで問題は解決します。
しかし、私がやりたいことは、IDNEW と CallbackDate が重複している ID 列の最初のインスタンスのみが結果に含まれるようにすることです。
SQL の小さな断片を追加する必要があるだけだと確信していますが、これまでのところ答えを見つけることができれば行き詰まります。
よろしくお願いいたします。