Mysql
 sql >> Database >  >> RDS >> Mysql

Come UNIRE due FK da un tavolo a un altro tavolo?

Dovrai fornire le istanze degli alias della tabella "users", in modo da poter fare riferimento a loro separatamente:

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)

Per selezionare sia dalle richieste che dalle relazioni, puoi utilizzare 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)