按照company_no和warehouse_no将记录分组,并且将cargo_num和cargo_volume求和(都是一个表中的字段),最后将求和后的结果添加到另一个表中。select sum(cargo_num),sum(cargo_volume) from table1 group by company_no,warehouse_no;这样行吗?
怎样将所得的结果添加到另一个表中那?
请指教,谢谢!!

解决方案 »

  1.   

    insert into tableB
    select company_no,warehouse_no,sum(cargo_num),sum(cargo_volume) from table1 group by company_no,warehouse_no
      

  2.   

    select company_no,warehouse_no,sum(cargo_num),sum(cargo_volume) 
    into new_table
    from table1 
    group by company_no,warehouse_no
      

  3.   

    TO firetoucher(风焱),按照你的方式,能够实现,但是还有一个问题,实际应用中,有一个Datetime类型的字段,需要插入时间,如下insert into tableB
    select company_no,warehouse_no,check_date, sum(cargo_num),sum(cargo_volume) from table1 group by company_no,warehouse_no但在sql语句里,必须用字符串,而插入的类型必须是datetime型的,这个问题该怎么解决哪?
      

  4.   

    insert nto tableB
    select convert(VarhChar(10),GetDate(),120),gcompany_no,warehouse_no,check_date, sum(cargo_num),sum(cargo_volume) from table1 group by company_no,warehouse_no
      

  5.   

    insert into tableB
    select company_no,warehouse_no,convert(VarhChar(10),check_date,120), sum(cargo_num),sum(cargo_volume) from table1 group by company_no,warehouse_no,check_date
      

  6.   

    to qlq111213(qinliqin): 刚才我的问题没有说清楚,insert into tableB
    select company_no,warehouse_no,convert(VarhChar(10),check_date,120), sum(cargo_num),sum(cargo_volume) from table1 group by company_no,warehouse_no,check_date其中 check_date 不是列名,而是变量的名字,我想直接将变量的值付给表中对应的字段,谢谢
      

  7.   

    看看sqlserver上的帮助insert into table
    select ...
      

  8.   

    yousoft(悠游在线) 老兄,真不好意思,我中午到现在一直在看,,妈的,还是没找到,随叫咱太菜哪!
      

  9.   

    如果check_date是变量,就没有必要放在group by 中,作用何在?
      

  10.   

    更正:个位高手insert into tableB
    select company_no,warehouse_no,convert(VarhChar(10),check_date,120), sum(cargo_num),sum(cargo_volume) from table1 group by company_no,warehouse_no;其中check_date是变量名,需要将该变量的值插入到数据库中,如何实现??
      

  11.   

    先給check_date給值啊,總要說出該變量的依據什麼變化吧.或是所有符合條件的紀錄的check_date都相同,還是check_date會依據紀錄而變化?
    set check_date = 具體值
    insert into tableB(field1,field2,.....)
    select company_no,warehouse_no,convert(varchaer(10),check_date,120),sum(cargo_num)
    ,sum(cargo_volume) from table1 group by company_no,warehourse_no
      

  12.   

    check_date := ld_date_check_end(具体值)check_date是字段的名字,所有符合条件的记录的check_date都是相同的str_sql :='insert into db_warehouse_check  select '''+ld_date_check_end+''' as date_check,company_no, '+
        'warehouse_no, flag_warehouse_io,cargo_name , sum(cargo_num) as ' +
           'cargo_num,sum(cargo_weight) as cargo_weight,sum(cargo_volume) as ' +'cargo_volume from db_warehouse_io '+
           'where date_warehouse_io <= ld_date_check_end and date_warehouse_io >= ld_date_check_begin '+
           'group by company_no, warehouse_no, flag_warehouse_io, cargo_name';
    sql.Add(str_sql);
     
    错误提示:
    [Error] Unit_time_sel.pas(56): Incompatible types: 'String' and 'TDateTime'
      

  13.   

    declare @check_date char(10)//声明变量,变量以@开头
    set @check_date='1999-02-03'//变量赋值
    cast(@check_date as datetime)//字符转换日期insert into tableB(field1,field2,.....)
    select company_no,warehouse_no,cast(@check_date as datetime),sum(cargo_num)
    ,sum(cargo_volume) from table1 group by company_no,warehourse_no
      

  14.   

    如果你想把时间类型转为字符串类型,用CHAR([时间类型])。如果你想把原来表示时间的字符串类型转为时间类型用DATE([字符串类型])。可以直接在SQL语句中使用。