Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

requete sql avec doublon non liste

2 réponses
Avatar
herve
Bonjour,

J'essaie toujours de progresser sur une requête qui devrait me lister
tous les doublons. Sur le serveur de dev, je les vois tous (système en fr).
Par contre au niveau hébergement internet (dont je n'ai pas la
maitrise), il y a sql serveur 2000 qui j'imagine fait le différence des
accents. Je croyais avoir compris qu'il fallait rajoutter:
COLLATE French_CI_AI

soit:
SELECT *
FROM Contacts
INNER JOIN
( SELECT Nom, Prenom
FROM Contacts
GROUP BY Nom, Prenom
HAVING COUNT(*) > 1
) Tmp
ON Contacts.Nom=Tmp.Nom AND Contacts.Prenom=Tmp.Prenom
ORDER BY Contacts.Nom, Contacts.Prenom
COLLATE French_CI_AI

malheureusement celà ne fonctionne pas. Une idée ?
merci
a+
herve

2 réponses

Avatar
Laurent Moreau
Essai ainsi: (je n'ai pas testé la requete)

SELECT *
FROM Contacts
INNER JOIN
( SELECT Nom, Prenom
FROM Contacts
GROUP BY Nom COLLATE French_CI_AI, Prenom COLLATE French_CI_AI
HAVING COUNT(*) > 1
) Tmp
ON Contacts.Nom COLLATE French_CI_AI=Tmp.Nom COLLATE French_CI_AI
AND Contacts.Prenom COLLATE French_CI_AI=Tmp.Prenom COLLATE French_CI_AI
ORDER BY Contacts.Nom, Contacts.Prenom


Laurent





"herve" wrote in message
news:
Bonjour,

J'essaie toujours de progresser sur une requête qui devrait me lister
tous les doublons. Sur le serveur de dev, je les vois tous (système en


fr).
Par contre au niveau hébergement internet (dont je n'ai pas la
maitrise), il y a sql serveur 2000 qui j'imagine fait le différence des
accents. Je croyais avoir compris qu'il fallait rajoutter:
COLLATE French_CI_AI

soit:
SELECT *
FROM Contacts
INNER JOIN
( SELECT Nom, Prenom
FROM Contacts
GROUP BY Nom, Prenom
HAVING COUNT(*) > 1
) Tmp
ON Contacts.Nom=Tmp.Nom AND Contacts.Prenom=Tmp.Prenom
ORDER BY Contacts.Nom, Contacts.Prenom
COLLATE French_CI_AI

malheureusement celà ne fonctionne pas. Une idée ?
merci
a+
herve



Avatar
hd
Non celà ne fonctionne pas .
J'avai déjà essayé de mettre COLLATE French_CI_AI à différents endroits.
Celà montre malheureusement (probablement) les limites de tout gérer par
le code.
a+
herve

Laurent Moreau a écrit:
> Essai ainsi: (je n'ai pas testé la requete)
>
> SELECT *
> FROM Contacts
> INNER JOIN
> ( SELECT Nom, Prenom
> FROM Contacts
> GROUP BY Nom COLLATE French_CI_AI, Prenom COLLATE French_CI_AI
> HAVING COUNT(*) > 1
> ) Tmp
> ON Contacts.Nom COLLATE French_CI_AI=Tmp.Nom COLLATE French_CI_AI
> AND Contacts.Prenom COLLATE French_CI_AI=Tmp.Prenom COLLATE French_CI_AI
> ORDER BY Contacts.Nom, Contacts.Prenom
>
>
> Laurent