sql_插入一张表的部分字段需要查询另一张表

插入一张表的数据来自另一张表:

INSERT INTO 表A(
    字段a,
    字段b,
    字段c
)
SELECT
    字段a',
    字段b',
    字段c'
FROM
    表B
WHERE
    条件

当只是某些字段需要另一张表的数据时:

INSERT INTO 表A(
    字段a,
    字段b,
    字段c,
    字段d
)
SELECT
    字段a',
    '要插入的值(例:insertTest)',      // 不为在表B查询到的值  用''包起来表示字符串,方法,数值不用包,按平时使用就可
    字段c',
    字段d'
FROM
    表B
WHERE
    条件

在myBatis中,自己要插入的数据可直接用#{valueName}写

INSERT INTO iot_data (
    id,
    device_id,
    data,
    report_date,
    create_by,
    create_date,
    update_by,
    update_date,
    remarks,
    del_flag
) SELECT
    #{id},
    id,     //此id为要在其他表查询的数据
    #{data},
    #{reportDate},
    #{createBy.id},
    #{createDate},
    #{updateBy.id},
    #{updateDate},
    #{remarks},
    #{delFlag}
FROM iot_device 
WHERE out_device_sn = #{device.outDeviceSn}
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值