Requette SQL ou Algorythme ?

[Résolu]
Signaler
Messages postés
44
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
30 mai 2008
-
Messages postés
44
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
30 mai 2008
-
Bonjour,

Mis à part le béaba en terme de requetage je suis un pur novice.
Je voudrais mettre en relation différents champs d'une même table sur des enregistrement différents exemple :
Enr1. champ1 "toto", champ2 "tutu", champ3 = "titi", champ4 = "tata"Enr2. champ1 "titi", champ2 "tata", champ3 = "toto", champ4 = "tutu" Enr3. champ1 "tata", champ2 " titi ", champ3 = "tutu", champ4 = "toto"Enr4. champ1 "tata", champ2 "titi", champ3 = "toto", champ4 = "tutu"

Je voudrai dans un premier temps ne concerver que les enregistrements dont le champ2 est égal au champ3 puis le champ3 égal au champs2 mais pas sur un même enregistrement.

Dans mon cas la requete doit me retourner les enregistrements 1 et 3.

Est-ce possible avec le requetage SQL ou dois-je écrire un algo. ?

Merci pour vos pistes et indices car j'ai bien du mal à trouver mon bonheur...

Bara.

6 réponses

Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
70
ce serait plutot :

SELECT * FROM 'Table' WHERE 'Champ1' IN (SELECT DISTINCT `Champ3` FROM 'Table')
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
70
tentes ce genre de choses :

-----------

SELECT T1.*, T2.* FROM `Table` T1, `Table` T2 WHERE T1.`Champ1`=T2.`Champ3`

---------

SELECT * FROM `Table` WHERE `Champ1`='tutu'
UNION
SELECT * FROM `Table` WHERE `Champ3`='tutu'
Messages postés
44
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
30 mai 2008

Merci pour le mot clé, je précise que je ne connais pas à l'avance les valeurs de mes champ1 et 3.
Je vais essayer quelque chose du genre qui fonctionne pas mais je vais chercher :

SELECT * FROM 'Table' WHERE 'Champ1' = UNION SELECT * FROM 'Table' ''Champ2'

C'est pas terrible mon machin...
Messages postés
44
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
30 mai 2008

Ha oui ! Pas mal.
Merci. Ca me sort également les enregistrements pour lesquels les champs1 et 3 sont vides pour une même ligne, mais cela n'est pas génant puisque l'interêt c'est qu'il soient différents.

A partir des éléments que tu m'as fournis je devrai être en mesure de réaliser le test inverse.
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
70
NOT IN
Messages postés
44
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
30 mai 2008

Heu non.
Je précise le sens de ma requete :

J'ai des utilisateurs qui indiquent une ville de départ et une ville d'arrivée.
Il faut que je selectionne les utilisateurs pour lesquelles la ville de départ corresponde à la ville d'arrivée et vice-versa :
ex :
user1 ville_dep paris ville_arr lyon
user2 ville_dep = lyon   ville_arr= marseilleuser3 ville_dep lyon   ville_arr paris
....

Les utilisateurs 1 et 3 vont faire partie de ma selection puisque la ville de départ de l'un correspond à la ville d'arrivée de l'autre et vice-versa.

Voili voilou
Merci