日期:2014-05-16  浏览次数:21016 次

求一复杂的过程
有3张表 表A 和表B 和表C
表A (编码表)
A01(镇)vr2 A02(户编号)  
0001 0002
0002 0135
。。。。。。
表B(家庭表)
B01(家庭编号) B02(户编号) B03(户主名) B04(镇) B05(内部家庭号) B06(户内最大人编号) 
000001 0001 张3 0001 100101 02
000002 0002 李4 0001 100201 03
000003 0002 王5 0001 100201 02
。。。。
表C(个人表)

C01(家庭编号) C02(户编号) C03(个人姓名) C04(镇) C05(内部个人号 家庭号+0?) C06(户内人编号) C07(个人编号)
000001 0001 张3 0001 10010101 01 N0000001
000001 0001 张4 0001 10010102 02 N0000002
000001 0001 张5 0001 10010102 02 N0000003

。。。

现在这3张表的数据出了2个问题。数据重复
1.表B的户编号应该自动从表A中去取并自动增加。但是由于表A的A02字段未设置为最大。导致新增的表B的户编号出现重复。
我想修正为:
表B重复的数据B02 去取最大的A02+1,并跟新A表的最大编号.
表B的B05 跟新为重新获取的B02+01
表C跟新C02 户编号取最大的A02+1 
  C05 跟新为最新的B05+后续具体的C06
2.表C由于表B的最大户内编号有部分数据未设置最大,导致表C的C05出现重复。

表C跟新 中重复的C05 根据最大的C07 跟新为max(C06)+1  
C01(家庭编号) C02(户编号) C03(个人姓名) C04(镇) C05(内部个人号 家庭号+0?) C06(户内人编号) C07(个人编号)
000001 0001 张3 0001 10010101 01 N0000001
000001 0001 张4 0001 10010102 02 N0000002
000001 0001 张5 0001 10010103 03 N0000003

。。。
请问用过程如何调整?这个问题比较复杂。可以分为2个过程解决。
请各位朋友帮帮忙!!!太头痛了!

------解决方案--------------------
探讨
没人了吗?

------解决方案--------------------
SQL code
000001 0001 张3 0001 100101 02
000002 0002 李4 0001 100201 03
000003 0002 王5 0001 100201 02
000001 0003 张3 0001 100101 02
000002 0003 李4 0001 100201 03
000003 0004 王5 0001 100201 02
000003 0004 王5 0001 100201 02


--那这种重复的3,4 要如何取值!