Bonjour,
Désolé de ne pas pouvoir répondre plus vite mais j'ai quelques soucis de pc.
Sinon je crois avoir compris l'erreur:
Il s'agit en fait d'une erreur dans la sous requête. En effet, il est impossible de faire un count(distinct a, b). La solution est de concatener tout tes champs ainsi il ne devrait plus y avoir de problème.
La requête deviendrait :
DELETE FROM insc_mdc_ancien2 t1
WHERE 1 < ( SELECT count( DISTINCT concat(Nom, Prenom, Naissance) )
FROM insc_mdc_ancien2 t2
WHERE t1.Nom = t2.Nom
AND t1.Prenom = t2.Prenom
AND t1.Naissance = t2.Naissance )
et la deuxième solution :
DELETE FROM insc_mdc_ancien2 t1
WHERE EXISTS ( SELECT *
FROM insc_mdc_ancien2 t2
WHERE t1.Nom = t2.Nom
AND t1.Prenom = t2.Prenom
AND t1.Naissance = t2.Naissance
HAVING count( DISTINCT concat(Nom, Prenom, Naissance) )>=2)
Il est possible que les requêtes ne marchent pas si le champ Naissance n'est pas une chaine de caractère. Dans ce cas, il faut faire un cast :
CAST(Naissance as VARCHAR)
Erreur
requête SQL: Documentation
DELETE FROM insc_mdc_ancien2 t1 WHERE EXISTS (
SELECT *
FROM insc_mdc_ancien2 t2
WHERE t1.Nom = t2.Nom
AND t1.Prenom = t2.Prenom
AND t1.Naissance = t2.Naissance
HAVING count( DISTINCT concat( Nom, Prenom, Naissance ) ) >=2
)
MySQL a répondu:Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE EXISTS ( SELECT *
FROM insc_mdc_ancien2 t2
WHERE t1.Nom = t2.Nom
AND t1' at line 2
Erreur
requête SQL: Documentation
DELETE FROM insc_mdc_ancien2 t1 WHERE 1 < ( SELECT count( DISTINCT concat( Nom, Prenom, Naissance ) )
FROM insc_mdc_ancien2 t2
WHERE t1.Nom = t2.Nom
AND t1.Prenom = t2.Prenom
AND t1.Naissance = t2.Naissance )
MySQL a répondu:Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE 1 < ( SELECT count( DISTINCT concat(Nom, Prenom, Naissance) )
FROM insc_m' at line 2
C'est pas grave car j'ai beaucoup de choses à faire nous je m'occupe en attendant ta réponse.
Par contre dis le moi si tu sèche que je ne t'attende pas trop.
Merci de ton aide qui reste bien la seule à s'être intéressé à mon problème.