{MySQL} Requête simultanée sur deux champs
Résolu/Fermé
A voir également:
- {MySQL} Requête simultanée sur deux champs
- Deux ecran pc - Guide
- Faire deux colonnes sur word - Guide
- Mysql community server - Télécharger - Bases de données
- Deux whatsapp sur un téléphone - Guide
- Itinéraire google map entre deux adresses - Guide
6 réponses
dam75
Messages postés
1041
Date d'inscription
lundi 4 mai 2009
Statut
Webmaster
Dernière intervention
21 février 2023
67
16 déc. 2009 à 15:11
16 déc. 2009 à 15:11
Euhhh ... si j'ai bien compris voila une idée ...
Bon courage
EDIT : doc officielle sur le IF de MySQL, ca peut aider :)
http://dev.mysql.com/doc/refman/5.0/fr/control-flow-functions.html
SELECT A.* FROM accounts A INNER JOIN ( SELECT IF(id_demande=2,id_reponse,IF(id_reponse=2,id_demande,0)) AS id_account FROM contacts ) TMP ON (A.id_account = TMP.id_account)
Bon courage
EDIT : doc officielle sur le IF de MySQL, ca peut aider :)
http://dev.mysql.com/doc/refman/5.0/fr/control-flow-functions.html
angevences1
Messages postés
2
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
15 décembre 2009
15 déc. 2009 à 16:49
15 déc. 2009 à 16:49
je veux bien t'aider mais commence d'abord par me donner la règle de gestion de tes deux tables
toma_f_1
Messages postés
89
Date d'inscription
dimanche 29 novembre 2009
Statut
Membre
Dernière intervention
16 décembre 2009
7
15 déc. 2009 à 16:51
15 déc. 2009 à 16:51
Je cherche à récupérer les noms et prénoms d'un membre dont l'id_account est 2, c'est à dire récupérer les membres qui sont en relation avec lui
pas très claire ta question...
pas très claire ta question...
Bin heu... admettons il y a toto, tata et tutu sur le site, on a donc
Dans ma table contacts j'aurais ça
Si je cherche à récupérer tous les contacts de 2 (tata), je devrais retourner l'utilisateur 3 (tutu) et l'utilisateur 1 (toto).
C'est plus clair ? :)
id_account | nom 1 | toto 2 | tata 3 | tutu
Dans ma table contacts j'aurais ça
id_contact | id_demande | id_reponse 1 | 2 | 3 // tata demande à tutu 2 | 1 | 2 // toto demande à tata 3 | 1 | 3 // toto demande à tutu
Si je cherche à récupérer tous les contacts de 2 (tata), je devrais retourner l'utilisateur 3 (tutu) et l'utilisateur 1 (toto).
C'est plus clair ? :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
toma_f_1
Messages postés
89
Date d'inscription
dimanche 29 novembre 2009
Statut
Membre
Dernière intervention
16 décembre 2009
7
16 déc. 2009 à 13:04
16 déc. 2009 à 13:04
pourquoi pas un simple
select distinct a.* from accounts a, contacts c
where (c.id_contact = 2 and a.id_account = c.id_demande)
or (c.id_demande = 2 and a.id_account = c.id_contact)
à tester...
l'idée est la, mais je m'embrouille avec tes attributs ( id_contact, et surtout id_demande et id_reponse) à quoi servent-ils ?
select distinct a.* from accounts a, contacts c
where (c.id_contact = 2 and a.id_account = c.id_demande)
or (c.id_demande = 2 and a.id_account = c.id_contact)
à tester...
l'idée est la, mais je m'embrouille avec tes attributs ( id_contact, et surtout id_demande et id_reponse) à quoi servent-ils ?
moderno31
Messages postés
870
Date d'inscription
mardi 23 juin 2009
Statut
Membre
Dernière intervention
8 août 2012
92
16 déc. 2009 à 20:05
16 déc. 2009 à 20:05
CEtte demande en est où ?
Quand je lis
"Je cherche à récupérer les noms et prénoms d'un membre dont l'id_account est 2" il me parait clair que tu n'utilises qu'une table contact donc la requette suivante :
SELECT nom, prenom FROM accounts WHERE id_account = 2.
Sinon s'il te faut bien faire une jointure dans la table contacts, j'espère pour toi que les valeurs des id account ont bien des correspondances dans la table contacts. Car d'après ce que je vois ta jointure n'apporte aucune info à ta recherche initiale.
De plus je ne vois pas à quel moment tu considère qu'un contact correpond à un compte..
Quand je lis
"Je cherche à récupérer les noms et prénoms d'un membre dont l'id_account est 2" il me parait clair que tu n'utilises qu'une table contact donc la requette suivante :
SELECT nom, prenom FROM accounts WHERE id_account = 2.
Sinon s'il te faut bien faire une jointure dans la table contacts, j'espère pour toi que les valeurs des id account ont bien des correspondances dans la table contacts. Car d'après ce que je vois ta jointure n'apporte aucune info à ta recherche initiale.
De plus je ne vois pas à quel moment tu considère qu'un contact correpond à un compte..
22 déc. 2009 à 16:43
Désolé pour cette absence de quelques jours, la grippe A a eu raison de moi :/
1000 merci à toi ça marche parfaitement !
Je passe ce sujet à résolu ;)
22 déc. 2009 à 16:43