首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

还是刚才的有关问题

2012-01-20 
还是刚才的问题表vvidintoidintfidint全部为零表ffidint主键递增oidintvcountint我需要将表v里面的相同oid

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


[解决办法]

热点排行