我不是SQL专家,但我正在对自定义构建的论坛进行更改,并且需要使用另一个表中的计数更新一个表中的新字段。我试图这样做,而不是遍历所有20,000个论坛帖子。
表的结构如下:
POST_TABLE:
ID, Post, Comment_count ...
COMMENT_TABLE:
ID, Comment, PostID ...
其中PostID
是评论附加到POST_TABLE
的帖子的ID。
我想更新新字段Comment_count,其中包含每个帖子PostID=ID
的评论数量(基本上是帖子中的评论)
我猜测单个查询可以解决这个问题,但我不知道如何构建它。任何帮助将不胜感激。
答案 0 :(得分:1)
update post_table p
set Comment_count = (
select count(id) from COMMENT_TABLE
where post_id = p.id
)
答案 1 :(得分:0)
UPDATE post_table
SET comment_count =
( SELECT COUNT(1)
FROM comment_table
WHERE postid = post_table.id
)
;