我有以下数据库。一位用户可以撰写一篇或多篇文章。投票是多对多的。
用户写了一篇文章。任何人都可以为该职位投票,因此投票将保存在投票表中。
我需要在页面上显示所有帖子。在每个帖子上,需要显示帖子的作者、post_votes 和作者的投票。
我的桌子是:
Table: user
id | user_name
1 | John
2 | Sam
3 | Susan
Table: post
id | post_title | user_id
1 | Hello | 1
2 | Sunday | 1
3 | Monday | 2
4 | Sun | 1
5 | Sun | 3
Table: votes
id | post_id
1 | 1
2 | 1
3 | 3
4 | 2
5 | 3
6 | 1
我需要查询返回以下结果集:
post_id | post_votes | user_id | user_votes
1 | 3 | 1 | 4
2 | 1 | 1 | 4
3 | 2 | 2 | 2
4 | NULL | 1 | 4
5 | NULL | 3 | NULL
我尝试了各种组合,但我的大脑无法工作。此外,如果有更好的方法来设计数据库以便检索上述内容变得容易,那将非常感激。