我有这样的安排:
我想检索所有关注者共享的帖子,请记住那些共享的帖子不属于另一个关注者或主要关注者,
表格用户
id_user | name
15 Joe
16 Dan
17 Tom
18 Ted
表社区
id_follower | followed
15 16
15 17
表格帖子
id_post | id_user | post
1 15 hi1
2 16 hi2
3 15 hi3
4 17 hi4
5 15 hi5
6 16 hi6
7 17 hi7
8 18 hi8
9 14 hi9
我要添加一个新表“ shares”。
表格共享
id_sharer | id_post
16 4
14 8
17 8
16 9
期望的输出帖子
17 8 hi7 (shared by Tom)
16 9 hi6 (shared by Dan)
如何通过SQL查询来获得这种新的安排?
我正在考虑添加一行LEFT JOIN shares l ON l.id_sharer=p.id_user
SELECT p.*,
FROM posts p
LEFT JOIN users u ON u.id_user!=c.id_followed
LEFT JOIN shares l ON l.id_sharer=c.id_followed
LEFT JOIN community c ON c.id_followed!=p.id_user
WHERE c.id_follower=15
ORDER BY p.date_post DESC
*已测试,但未按预期检索