Bon la demande date, mais histoire de fournir une solution...
Ce que tu demandes est possible si tu utilises le mécanisme des requêtes imbriquées.
...ça va demander un peu d'analyse :/
Situation
On dispose de la table t1 dont la structure est la suivante : t1[c1, c2, ...]
la table est alimentée ainsi : pour chacune des valeurs distinctes présentes dans la colonne c2, peuvent être associées plusieurs valeurs différentes dans la colonne c1.
Problématique
On cherche a distinguer quelles sont les valeurs de la colonne c2 qui possèdent plus d'une valeur associée dans la la colonne c1.
Procédé
On va dans un premier temps constituer la liste des différentes valeurs possible dans la colonne c2. On donne a ces valeurs l'allias suivant a1.
SELECT DISTINCT(c2) AS a1 FROM t1
Puis on va comptabiliser, par le biais de l'allias
nb, combien il existe d'association entre les colonnes
c1 et
c2, pour chacune des valeurs existantes dans la colonne
c2, identifié par l'allias
a2, pour la suite de la requête.
SELECT c2 AS a2, COUNT(*) AS nb FROM t1, (SELECT DISTINCT(c2) AS a1 FROM t1)
WHERE c2 = a1
GROUP BY c2
Enfin on identifie les lignes de la table pour lesquelles les valeurs de la colonnes
c2 sont égales aux valeurs de l'allias
a2, et dont le nombre d'association avec la colonne
c1, identifié par l'allias
nb, est supérieur à 1.
SELECT * FROM t1,(
SELECT c2 AS a2, COUNT(*) AS nb FROM t1, (SELECT DISTINCT(c2) AS a1 FROM t1)
WHERE c2 = a1
GROUP BY c2
)
WHERE c2 = a2
AND nb > 1
ORDER BY c2
...espérant avoir été assez clair !
Cdt.