很有可能是表"出库单1"中的"总金额"的类型为varchar。
也有可能是表"收款单2"中的"单据号"的类型为money.
你再看看吧!

解决方案 »

  1.   

    我的建议是:
    1、语句改为:insert into 收款单2(销售单据号,客户,总金额,收款单据号,...)
                     select .... from 出库单1
      仔细查对每个插入列是否一一对应,这是一个很好的SQL书写习惯,可以避免很多问题,并且数据的可维护性也得到增强;
    2、核对收款单2和出库单1的每一列的数据属性是否一致,如有差异,应使用合适的转换函数。一定可以解决你的问题。
      

  2.   

    对呀,不要两个表的字段类型不一样呵,例如,一个是float,一个是money,呵呵。
      

  3.   

    insert into 收款单2
    select id,'',销售单据号,总金额,0,0,0 from 出库单1;
    T1收款单中有ID,收款单据号,销售单据号,总金额,已收金额,未收金额,本次收款
      

  4.   

    insert into 收款单2 (销售单据号,收款单据号,总金额,已收金额,未收金额,本次收款)
    select 收款单据号,'',总金额,0,0,0 from 出库单1;