简体   繁体   中英

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 .

I have another table tbl2 and it has columns 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 . 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;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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