Recherche de doublons

Bonjour,
Dans MS-Access, il y avait un assistant pour créer une requête de recherche de doublon. J’ai essayé de recréer ce genre de recherche dans LO-Base sans succès.
Sur ma table test, la requête qui semble correspondre à cette fonction serait :

Select distinct “ID”, “test”, “Valeur”, “Date” FROM “Table1” WHERE “Table1”.“test” IN SELECT “Table1_1”.“test”, COUNT( “Table1_1”.“Somme” ) FROM “Table1” AS “Table1_1” GROUP BY “Table1_1”.“test” HAVING ( ( COUNT( “Table1_1”.“Somme” ) > 1 ) )

mais elle me donne un diagnostic d’erreur de syntaxe.
J’ai beau chercher dans les FAQ, je ne trouve pas d’explication ni de méthode pour effectuer cette recherche.

Auriez-vous une piste pour résoudre mon problème ?

Merci d’avance

Jacques

Effectivement, avec la base de test, ce serait mieux. Merci de m’excuser. La voici:
Nouvelle base de données.odb

Au final, je voudrais pouvoir marquer les enregistrements en doublon avec l’ID du plus récent (l’ID le plus élevé).

Bonjour

Ta requête tente de compter le champ “Table1_1”.“Somme” Existe-t-il ?

Cordialement

Suite…

Ne disposant pas de ta base (c’est un des modules où donner un exemple est quasi indispensable car autrement cela oblige les personnes qui répondent à construire une BDD…) je te joins un exemple de SQL à exécuter via le menu Outils pour te mettre sur la piste.

DELETE FROM "Table1" 
WHERE ID NOT IN
(SELECT MAX( "ID" ) FROM "Table1" GROUP BY "MaDate")

doublon.odb

Cordialement

Merci,
La logique du SQL semble différente de celle de MS-Access. Je vais donc essayer de voir si j’y arrive sur ma base.

Après essais, je crains que mon désir soit irréalisable : j’ai le choix entre { “ID” IN (SELECT…} et { “ID” NOT IN (SELECT … } avec une fonction MAX (ou MIN) alors que je veux TOUS les ID pour lesquels le compte est > 1

Il n’y a pas que ces possibilités ; en reprenant ma base, pour sélectionner les enregistrements en doublons (et +) sur la date tu peux faire par exemple :

SELECT "ID", "MaDate" FROM "Table1" WHERE "MaDate" IN (SELECT "MaDate" FROM "Table1" GROUP BY "MaDate" HAVING  COUNT( "ID" ) > 1 )

Je crois avoir trouvé mon erreur !

Le SELECT après IN est entre ( ) alors que je n’en avais pas mis. Je ne dois pas non plus mettre de champ annexe dans la 1ère partie du SELECT (mais, pour cela, le diagnostic est clair).
Fonctionne bien avec un seul champ. Maintenant, il me reste à régler le problème du doublon sur plusieurs champs.
Ce sera une autre question si j’échoue car pour l’instant, j’ai le diagnostic

Single column select required in IN predicate in statement [SELECT

Jacques