我有两个表a表,b表.
a表 
a1  a2 --这是表中字段 
a1的数据 
(10000  11000  14500 16540 21212 20000  45000  10100 14570 10001 30000  65000  19800  50110  50501 40000  77000  14500 60010 60051 );
a2的数据
(与a1中数据相对应的名称n1,n2,n3.....)通过存储过程插入到目标 b表 
第一级 名称 第二级 名称 第三级 名称 第四级 名称 第五级 
10000  n1  11000 n2  14500  ... 16540 ... 21212 
20000  n6  45000 ... 10100  ... 14570 ... 10001 
30000  n11 65000 ... 19800  ... 50110 ... 50501 
40000  n16 77000 ... 14500  ... 60010 ... 60051 (请问我的存储过程应该怎么写才能实现,请高手帮帮忙,急~~~)

解决方案 »

  1.   

    lz,你的(10000 11000 14500....)
    是分别指a table三行的a1字段的内容,分别是10000,11000,14500....?
    数据库中行与行之间是没有顺序的.
    lz是根据什么来排序的?
    根据a2字段的内容来sort?
    如果不能sort,如何确定1000是insert在“第一级”column,而不是“第二级”column?
      

  2.   

    照你这个倒是不难的,就是五个一行做行列转换,然后插到b表嘛
    不过和你原来的说法好像不同噢BTW 你的分真多,为了这个问题发了几贴
      

  3.   

    一点点个人想法:
    1.使用两个游标,然后一一对应insert。 这个可能适合数据量较少时
    2.构造一个id列,使a1和a2表通过id能关联。然后在构造sql语句。
    3.即然是存储过程,就不要总想着一个sql完成所有工作,可以从开发的角度,先完成任务,然后再优化。
      

  4.   


    是分别指a table三行的a1字段的内容,分别是10000,11000,14500....? 
    ?????????????????????????????
    ----------------------------------
    什么意思?!
    我不是说了是a表中a1字段中的数据了?!,是一列的数据,a2中的n1,n2...是a2这一列的数据,这两列数据是一一对应的关系,现在想要按照a1排序放进B表中
      

  5.   

    能以a2中的n1,n2...是a2这一列的数据排序吗?若能,以游标循环处理