简体   繁体   English

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

[英]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 ,它有列idotherstuffnum

I have another table tbl2 and it has columns id , info . 我有另一个表tbl2 ,它有列idinfo

What I want to is make the num column of tbl1 equal to the number of rows with the same id in tbl2 . 我想要的是使tbl1num列等于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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM