[英]MySQL: UPDATE table with COUNT from another table?
I thought this would be simple but I can't get my head around it... 我觉得这很简单,但我不能理解它...
I have one table tbl1
and it has columns id
, otherstuff
, num
. 我有一个表
tbl1
,它有列id
, otherstuff
, num
。
I have another table tbl2
and it has columns id
, info
. 我有另一个表
tbl2
,它有列id
, info
。
What I want to is make the num
column of tbl1
equal to the number of rows with the same id
in tbl2
. 我想要的是使
tbl1
的num
列等于tbl2
具有相同id
的行数。 Kind of like this: 有点像这样:
UPDATE tbl1 SET num =
(SELECT COUNT(*) FROM tbl2 WHERE id=tbl1.id)
Any ideas? 有任何想法吗?
如果您的num列是有效的数字类型,则查询应该按原样运行:
UPDATE tbl1 SET num = (SELECT COUNT(*) FROM tbl2 WHERE id=tbl1.id)
UPDATE tbl1, (select id, count(*) as idCount from tbl2 group by id) as t2
SET tbl1.num = t2.idCount
WHERE tbl1.id = t2.id;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.