Mysql 多对一或一对多

Mysql many to one OR one to many

我有点困惑,需要一些帮助。我有 3 tables.

User_Works_on

+---------+-------------+--+--+
| user_id | project_id  |  |  |
+---------+-------------+--+--+
|    5812 |     1938026 |  |  |
|    6390 |     1938026 |  |  |
|   32088 |     1938026 |  |  |
|   62830 |     1938026 |  |  |
|   64436 |     1938026 |  |  |
|   64441 |     1938026 |  |  |
|   77969 |     1938026 |  |  |
+---------+-------------+--+--+

Follower_works_on

+-------------+---------+
| follower_id | repo_id |
+-------------+---------+
|       64441 | 1938026 |
|       64441 |  477331 |
|       64441 |  477331 |
|        6390 | 1938026 |
|        6390 | 1529732 |
|        6390 |  477331 |
|        6390 |  477331 |
+-------------+---------+

Follows_user

+---------+-------------+
| user_id | follower_id |
+---------+-------------+
|    5812 |        6390 |
|    5812 |       10561 |
|    5812 |       37664 |
|    5812 |       51794 |
|    6390 |          58 |
|    6390 |         302 |
|    6390 |        1340 |
|    6390 |        1471 |
|    6390 |        2316 |
|    6390 |        3448 |
|   64441 |       40399 |
|   64441 |       57411 |
|   64441 |       64111 |
|   64441 |      180542 |
|   64441 |      294196 |
+---------+-------------+

table User_works_on 显示用户正在处理的项目。 Follower_works_on 显示关注者从事的项目。 Follows_users 显示哪些用户是其他用户的关注者。如果 id 是任何用户的关注者,我想 link 两个项目。即我想在用户工作的项目和追随者工作的项目之间创建一个 link 假设它们之间存在追随者关系。

例如:

用户 5812 在项目 1938026 上工作
关注者 6390 在项目 1529732 上工作
关注者 6390 关注用户 5812
因此项目1938026和1529732之间有一个link。

我是 mysql 的新手,所以我不确定如何构建这种关系。任何想法都会很棒。

结果应该是这样的

+---------+-------------+-------------+-------------+
| User_id | project_id1 | project_id2 | Follower_id |
+---------+-------------+-------------+-------------+
|    5812 |     1938026 |     1938026 |        6390 |
|    5812 |     1938026 |     1529732 |        6390 |
+---------+-------------+-------------+-------------+
SELECT project_id, repo_id
FROM User_Works_on AS u
JOIN Follows_user AS fu ON u.user_id = fu.user_id
JOIN Follower_Works_on AS f ON fu.follower_id = f.follower_id

DEMO