Problème sql

3 réponses
AuteurMessage

ddpetit |
Modérateur

Photo de ddpetit

Inscrit le : 03/05/2006

# Le 09/07/2007 à 20:44

J'ai un souci avec une requete sql. Voici le schéma de mes tables :
TABLE users comme suit :
id | pseudo
1 | pseudo 1
2 | pseudo 2
3 | pseudo 3

Table amis comme suit :
id_demande | id_recoi | actif
1 | 3 | 1
2 | 1 | 1

Je cherche à trouver les amis de la personne n°1 -> soit il a demandé, soit il a reçu l'invitation
donc n°1 se retrouve soit dans id_demande soit dans id_recoi. Il faut trouver le pseudo de l'autre personne

J'avais essayé cette requete, mais sans résultat.

SELECT u.pseudo, u.id FROM amis AS a, users AS u WHERE a.actif='1' AND u.id!='1' AND a.id_demande='1' OR a.id_recoi='1' AND u.id=a.id_demande OR u.id=a.id_recoi

Merci de votre aide

Loccasion.com - Vente de voitures d'occasionOuvrir dans une nouvelle fenetre - Mandataire AutoOuvrir dans une nouvelle fenetre

bhamp0 | Benjamin
Membre

Photo de bhamp0

Inscrit le : 09/05/2005

# Le 09/07/2007 à 21:41

SELECT u.pseudo, u.id
FROM `users` U
JOIN `amis` A ON
(A.`id_demande`='1' AND U.`id` = A.`id_recoi`) OR
(A.`id_recoi` = '1' AND U.`id` = A.`id_demande`);

Quand on voit c'qu'on voit, et qu'on entend c'qu'on entend, on a raison d'penser c'qu'on pense !

ddpetit | Damien
Modérateur

Photo de ddpetit

Inscrit le : 03/05/2006

# Le 09/07/2007 à 22:09

Merci beaucoup, c'est exactement ce qu'il me fallait. Pouvez-vous m'expliquer à quoi sert le JOIN ? Merci

Loccasion.com - Vente de voitures d'occasionOuvrir dans une nouvelle fenetre - Mandataire AutoOuvrir dans une nouvelle fenetre

bhamp0 | Benjamin
Membre

Photo de bhamp0

Inscrit le : 09/05/2005

# Le 09/07/2007 à 22:16

Alors :
1) tu peux me tutoyer, ça va faciliter les choses
2) un JOIN correspond à une jointure entre tables
C'est-à-dire que tu définis que tu vas joindre la table users avec la table amis, et avec la clause ON, tu définis de quelle manière tu fais ta jointure entre tables
Il existe toute sorte de "JOIN" (JOIN, INNER JOIN, OUTER JOIN, LEFT JOIN, RIGHT JOIN, ...), bref je te laisse approfondir si tu le souhaites en lisant la doc : http://dev.mysql.com/doc/refman/5.0/fr/join.htmlOuvrir dans une nouvelle fenetre

Quand on voit c'qu'on voit, et qu'on entend c'qu'on entend, on a raison d'penser c'qu'on pense !

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 24/11/2024 19:19:06 | Généré en 4.75ms | Contacts | Mentions légales |