日期:2014-05-18  浏览次数:20587 次

还是刚才的问题
表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