各位大侠
小弟遇到个难题,希望帮助解决一下
有一数据库字段为
zh(证号),name(姓名),nd(年度),grj(个人账户)
里面的数据我可以举个例子(不会描述)
000003 张三 1992 122.5
000003 张三 1993 598
000003 张三 1994 800.5
。
。
。
000003 张三 2002 300.8(这条记录为在别的单位的账户)
000003 张三 2002 600.9(这条及其他条记录为在我单位的账户)
000003 张三 2003 1100
000003 张三 2004 1800.8
000003 张三 2005 800.5
。
。
000004 李四 1992 122.5
000004 李四 1993 598
000004 李四 1994 800.5
。
。
。
000004 李四 2002 300.8(这条记录为在别的单位的账户)
000004 李四 2002 600.9(这条及其他条记录为在我单位的账户)
000004 李四 2003 1100
000004 李四 2004 1800.8
000004 李四 2005 800.5
。
。
表里面有几千人都是这样的数据。
我想编一个字段id(索引字段)为这样的数据
id zh name nd grj
0000030001 000003 张三 1992 122.5
0000030002 000003 张三 1993 598
0000030003 000003 张三 1994 800.5
。
。
。
0000030011 000003 张三 2002 300.8(这条记录为在别的单位的账户)
0000030012 000003 张三 2002 600.9(这条及其他条记录为在我单位的账户)
0000030013 000003 张三 2003 1100
0000030014 000003 张三 2004 1800.8
0000030015 000003 张三 2005 800.5
。
。
0000040001 000004 李四 1992 122.5
0000040002 000004 李四 1993 598
0000040003 000004 李四 1994 800.5
。
。
。
0000040011 000004 李四 2002 300.8
0000040012 000004 李四 2003 1100
0000040013 000004 李四 2004 1800.8
0000040014 000004 李四 2005 800.5
。
。
说白了就是每个人的账户情况按照nd 字段排列得到序列号(从1往下排,不管哪一年有没有两条记录),然后
id 字段就等于zh+序列号
如果所有人都像 李四 这样的账户,我就好办了,
update zh3 set id=zh+'0001' where nd='1992'
update zh3 set id=zh+'0002' where nd='1993'......就可以搞定了
关键表里面有一些人像 张三 那样的账户,一年中有两条记录,用上面的方法2002年的两条记录 id 又重复了.
苦恼,困惑,迷茫,失落。
望各位多多帮忙,谢谢。
可以把表拆成92年一个表,93年一个表等等,然后合在一起都可以,只要能达到目的。
[此贴子已经被作者于2007-6-7 0:38:27编辑过]