2010-11-17 8 views
0

J'ai une base de données MS Access qui contient, entre autres, un champ 'nom' et un champ 'date'. Les noms contiennent des doublons parce que les événements aux individus avec le «nom» ont parfois eu lieu plus d'une fois. Ce que je veux faire est d'identifier les «noms» en double où la différence entre la dernière «date» moins celle de l'avant-dernière date est supérieure à 2 semaines. Sinon, si la différence de date est inférieure à 2 semaines, le nom ne sera pas considéré comme une duplicata.La différence de date duplique la requête entre la dernière et l'avant-dernière date

J'espère que cela a du sens.

Répondre

1

Voulez-vous dire:

SELECT m.SName, m.SDate 
FROM 
    (SELECT STable.SName, 
      STable.SDate, 
      (SELECT TOP 1 Sdate 
      FROM STable s 
      WHERE s.SName=STable.SName 
      AND s.SDate<STable.SDate 
      ORDER BY SDate DESC) AS PreviousDate, 
      [SDate]-Nz([PreviousDate],[SDate]) AS Diff 
    FROM STable) m 
WHERE Diff=0 or Diff>14 
+0

Merci, cela ressemble à ce que je dois, mais je vais devoir ruser un peu. – John

Questions connexes