SQL - Garder uniquement les doublons (1)

Résolu/Fermé
Fonx2 Messages postés 331 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 5 mai 2013 - Modifié par Fonx2 le 4/09/2010 à 18:42
Fonx2 Messages postés 331 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 5 mai 2013 - 4 sept. 2010 à 21:21
Bonjour,

J'ai un Select qui me renvoi dans certains cas des valeurs en double.
Lorsque cela se présente, je voudrais conserver un exemplaire de toutes valeurs en doublons et supprimer ce qui n'apparaît qu'une fois.
Dans le cas contraire, la requête devra se faire "normalement" (afficher le résultat du select tel que).

Pour ceux qui connaisse le PHP, c'est l'équivalent de la fonction "array_unique".
EDIT: FAUX! la fonction "array_unique" supprime les doublons mais conserve les valeurs qui n'apparaisse qu'une fois. Désolé pour cette erreur.

Le hic, c'est que comme je stock les valeurs dans un tableau à deux dimensions, je ne peux pas utiliser cette fonction...

Merci d'avance pour vos idées!
A voir également:

6 réponses

Fonx2 Messages postés 331 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 5 mai 2013 132
Modifié par Fonx2 le 4/09/2010 à 20:09
Very Good News!!

Voici une solution qui semble très bien fonctionner...
Je me demande pourquoi je n'y ai pas pensé plus tôt!!

SELECT m.* FROM Matiere m, Enseigner e  
WHERE m.IdMatiere=e.IdMatiere  
AND CreneauAnnee='2010/2011'  
AND (IdClasse=2 OR IdClasse=4)  
GROUP BY m.IdMatiere  
HAVING COUNT(m.IdMatiere)>1


Ceci ne renvoi que les valeurs en doublons et en un seul exemplaire en plus!

Il ne reste plus qu'à trouver un moyen de déterminer si la requète d'origine contient ou non des doublons...
1