Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment JOINDRE deux FK d'une table à une autre table ?

Vous devrez donner aux instances de la table "users" des alias, afin de pouvoir vous y référer séparément :

SELECT u1.*, u2.* FROM relationship r
  JOIN users u1 ON (u1.user_id = r.first_user)
  JOIN users u2 ON (u2.user_id = r.second_user)

Pour sélectionner à la fois des requêtes et des relations, vous pouvez utiliser un UNION :

SELECT u1.*, u2.* FROM relationship r
  JOIN users u1 ON (u1.user_id = r.first_user)
  JOIN users u2 ON (u2.user_id = r.second_user)
UNION
SELECT u1.*, u2.* FROM requests r
  JOIN users u1 ON (u1.user_id = r.first_user)
  JOIN users u2 ON (u2.user_id = r.second_user)