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.