我试图显示某个类别中的所有板,但我在 SQL 查询方面遇到了问题。我希望它遍历某个类别中的所有帖子,从中获取用户 ID,从用户表中找到用户名,然后计算帖子中有多少评论。
这是表格和一些字段:
boards
board_id
comments - the replies to the post
comment_id
discussion - the posts
discussion_id
discussion_user
discussion_board
discussion_time
discussion_title
users
id
username
最初我有这个:
SELECT
a.discussion_id,
a.discussion_time,
a.discussion_title,
a.discussion_type,
a.discussion_media,
b.username,
Count(c.comment_id) AS totalComments
FROM
discussion a,
users b,
comments c
WHERE
discussion_board='".$board['board_id']."' AND
b.id=a.discussion_user AND
c.comment_post=a.discussion_id
但它只有在找到评论时才会显示帖子。
我该如何解决这个问题?我仍在学习更多有关 SQL 和数据库关系的知识。左连接?
最佳答案
左连接是可行的方法,因为它们将从 a 中提取所有内容,而不管 b 或 c 中是否有相应的条目。关于连接(和一般的 SQL)的更多信息,请参见 here .
关于php - 数据库关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4390924/