MySql将一个表里面的部分列插入另一个表(另加一些列)

      今天工作用到了这方面的知识,记个笔记,先说基础,把一个表中的部分行插入另一个表,传统写法

     insert into

         表A

      (字段1,字段2,字段3......)

    select

      (字段1,字段2,字段3......)

     from

      表B

  where  查询条件


我在这里用的类似Map的参数进行传值。并且带入了部分表B中不存在的字段(pur_id,garage_id,create_name等,这些值一定要在插入表A后必须一致,否则就多在表B加一个字段表示不同的东西吧),下面是SQL语句



<!-- 新增采购单详情-->
     <insert id="savePurchaseDetailByTemp" parameterType="pd">
         insert into  
             busi_purchase_order_details
         (
            pur_id,
             parts_id,
             pur_order_no,
              pur_price,  
              pur_number,              
             garage_id,
             create_name,
             create_datetime
                
         )  
         select
             #{pur_id} as pur_id,
             b.parts_id as parts_id,
             #{pur_order_no} as pur_order_no,
              a.pur_price as pur_price,  
              a.pur_number as pur_number,              
             #{garage_id} as garage_id,
             #{create_name} as create_name,
             #{create_datetime} as create_datetime
         from
              busi_purchase_temp as a,busi_repairparts_info as b
         where
             a.parts_name=b.parts_name
         and
             a.i_code=#{i_code}  
     </insert>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值