7

これは簡単だと思ったのですが、頭がわかりません...

私は1つのテーブルを持っtbl1ていて、それには列がありますid, otherstuff, num.

別のテーブルtbl2があり、列がありますidinfo

私がしたいのは、のnum列をtbl1同じ行の数に等しくすることidですtbl2。このような種類:

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

何か案は?

4

2 に答える 2

16

num 列が有効な数値型である場合、クエリはそのまま機能するはずです。

UPDATE tbl1 SET num = (SELECT COUNT(*) FROM tbl2 WHERE id=tbl1.id)
于 2013-04-17T12:18:54.483 に答える
11
UPDATE tbl1, (select id, count(*) as idCount from tbl2 group by id) as t2
SET    tbl1.num = t2.idCount
WHERE  tbl1.id = t2.id;
于 2013-04-17T12:18:04.273 に答える