有一表 Temp_data 字段如下ctn_no   prd_name   num  units   total_ctnJCE001   THERES     200   PCS     3JCE002   THErrS     450   PCS     4JCE003   34HERS     400   PCS     3怎样用SQL语句根据字段total_ctn的数值,重复复制该数值的次数,成如下数据。JCE001   THERES     200   PCS     3
JCE001   THERES     200   PCS     3
JCE001   THERES     200   PCS     3
JCE002   THErrS     450   PCS     4
JCE002   THErrS     450   PCS     4
JCE002   THErrS     450   PCS     4
JCE002   THErrS     450   PCS     4
JCE003   34HERS     400   PCS     3
JCE003   34HERS     400   PCS     3
JCE003   34HERS     400   PCS     3

解决方案 »

  1.   

    Insert into Temp_data
    select * from Temp_data
    union all
    select * from Temp_data
      

  2.   

    用单一的SQL恐怕不行吧,建议还是存储过程加游标
      

  3.   

    with adoquery do
    begin
    close;
    sql.Clear;
    sql.Add('select * from input_data');
    open;
    first;
    while not eof do
    begin
    for i:=1 to adoquery.fieldbyname('total_ctn').Value do
    begin
    with adoquery do
    begin
    close;
    sql.Clear;
    sql.Add('insert into temp_data_copy select * from temp_data where ctn_no='+''''+dbgrid1.Fields[0].value+'''');//dbgrid显示adoquery查找Temp_data的数据
    execsql;
    end;
    end;
    adoquery.Next;end;
    end;