在查询中查询 - 从表2的计数更新table1

时间:2012-01-24 14:27:27

标签: mysql

我不是SQL专家,但我正在对自定义构建的论坛进行更改,并且需要使用另一个表中的计数更新一个表中的新字段。我试图这样做,而不是遍历所有20,000个论坛帖子。

表的结构如下:

POST_TABLE:
ID, Post, Comment_count ...

COMMENT_TABLE:
ID, Comment, PostID ...

其中PostID是评论附加到POST_TABLE的帖子的ID。

我想更新新字段Comment_count,其中包含每个帖子PostID=ID的评论数量(基本上是帖子中的评论)

我猜测单个查询可以解决这个问题,但我不知道如何构建它。任何帮助将不胜感激。

2 个答案:

答案 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
        )
;