Problématique doublons

alpha
Invité n'ayant pas de compte PHPfrance

18 mars 2006, 16:36

Bonjour,

J'ai une problématique que j'aimerais résoudre au niveau de la requête SQL directement si c'est possible (si ça n'est pas le cas je le ferais en PHP) :

J'ai, dans ma table, 2 colones contenant des nombres. J'ai beaucoup de ligne donc plein de combinaisons différentes en associant ces 2 nombres. Je fais certaines requêtes sur cette table mais le soucis qui se pose c'est que des fois dans une combinaison un nombre est présent dans la 1ère colone et un autre dans la 2ème colone et que dans une autre combinaison les mêmes nombres sont présents mais de façon inversée dans les colones ce qui provoque des doublons au niveau de mon système, connaissez-vous un moyen ou une fonction SQL permettant de régler ceci ?

Merci pour votre aide !

Eléphant du PHP | 248 Messages

19 mars 2006, 11:42

Salut pour ton problème de doublons il faut que tu utilise dans MySQL ou PHP la fonction DISTINCT.
Je te donne un example pour que tu puisse comprendre:

Dans ta table t'as tes colonnes. Disons que dans la colonne chiffre t'as les chiffres suivant
123
234
456
123

La tu peut voire qu'il y a deux fois le chiffre 123 tu fait ta requête comme suit:

"SELECT DISTINCT chiffre FROM tabase"

Ce qui retourne:
123
234
456

et elimine le 123

alpha
Invité n'ayant pas de compte PHPfrance

19 mars 2006, 12:46

Oui c'est ce principe mais appliqué sur 2 colones avec les possibilités d'inversement qu'il y a, par exemple j'ai ça :

5 | 2
2 | 5
7 | 4
5 | 2
1 | 3

Et je veux ça :

7 | 4
1 | 3

Donc j'ai éliminé "5 | 2" qui était en double mais aussi "2 | 5" qui était un double inversé, est-ce que je peux faire ça au niveau de la requête ?

Eléphant du PHP | 248 Messages

19 mars 2006, 13:03


5 | 2
2 | 5
7 | 4
5 | 2
1 | 3

Et je veux ça :

7 | 4
1 | 3
Lorsque tu utilise la fonction DISTINCT ca te retournera ca

5 | 2
2 | 5
7 | 4
5 | 2
1 | 3

5 | 2
2 | 5
7 | 4
1 | 3


et non

7 | 4
1 | 3

Mais si tu veut que ca retourne que
7 | 4
1 | 3

Il faudra que tu ecrive un script en php pour que ca fasse bien le tri.

Je vais essayer de te faire le script et je te l'envois

alpha
Invité n'ayant pas de compte PHPfrance

19 mars 2006, 13:45

Ok c'est bien ce que je craignais que ça ne soit pas faisable au niveau SQL, mais j'espérais quand même qu'il y est une fonction pourvant aider.

Mais non ne t'embette pas à faire le script, je vais le faire, en tout cas merci pour tes réponses ! :wink:

Eléphant du PHP | 248 Messages

19 mars 2006, 16:53

ben d'accord mais de rien pour les reponse c'est normal