Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie verbinde ich zwei FKs von einem Tisch zu einem anderen Tisch?

Sie müssen den Instanzen der Tabelle "users" Aliase geben, damit Sie separat darauf verweisen können:

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)

Um sowohl Anfragen als auch Beziehungen auszuwählen, können Sie eine 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)