MySQL:来自另一个表的COUNT的UPDATE表?

时间:2013-04-17 12:14:13

标签: mysql sql

我认为这很简单,但我不能理解它......

我有一个表tbl1,它有idotherstuffnum列。

我有另一张表tbl2,它有id列,info

我想要的是num列的tbl1列等于idtbl2相同的行数。有点像这样:

UPDATE tbl1 SET num =
(SELECT COUNT(*) FROM tbl2 WHERE id=tbl1.id)

有什么想法吗?

2 个答案:

答案 0 :(得分:11)

如果您的num列是有效的数字类型,则查询应该按原样运行:

UPDATE tbl1 SET num = (SELECT COUNT(*) FROM tbl2 WHERE id=tbl1.id)

答案 1 :(得分:10)

UPDATE tbl1, (select id, count(*) as idCount from tbl2 group by id) as t2
SET    tbl1.num = t2.idCount
WHERE  tbl1.id = t2.id;