读书人

还是刚才的有关问题

发布时间: 2012-01-20 18:53:53 作者: rapoo

还是刚才的问题
表v
vid int
oid int
fid int 全部为零
表f
fid int 主键 递增
oid int
vcount int
我需要将表v里面的相同oid的总数写入表f
应该是如下sql
insert into f (oid,vcount)
select count(vid),oid from v group by oid

问题:
现需update表v 将表f中生成的fid 写入v.fid的位置

例如
原来表v
vid oid fid
1 1 0
2 1 0
3 1 0
4 2 0
5 3 0
6 3 0
处理后得到
表f
fid oid vcount
101 1 3
102 2 1
103 3 2
表v 变为
vid oid fid
1 1 101
2 1 101
3 1 101
4 2 102
5 3 103
6 3 103
如果第二次执行insert和 update之后的倒如下内容
表f
fid oid vcount
101 1 3
102 2 1
103 3 2
104 1 3
105 2 1
106 3 2


表v
vid oid fid
1 1 104
2 1 104
3 1 104
4 2 105
5 3 106
6 3 106


[解决办法]

读书人网 >SQL Server

热点推荐