INSERT INTO SELECT 实例

INSERT INTO SELECT 实例需求:   把一个表中特定的2列查询出来,然后插入到另外一张表,插到另一张表的其他列的值是固定值。要插入的表,插入全部内容时是这样的:INSERTINTO`mapping_record`(id,mapping_record.type,sim_id,wx_id,created_time,updated_time,is_available)VALUES(uuid(),’94

大家好,又见面了,我是你们的朋友全栈君。

需求:

     把一个表中特定的2列查询出来,然后插入到另外一张表,插到另一张表的其他列的值是固定值。

要插入的表,插入全部内容时是这样的:

INSERT INTO `mapping_record` (id,mapping_record.type,sim_id,wx_id,created_time,updated_time,is_available) 
VALUES (uuid(),'940ceb86d7c444bd81799edfd4a9beb3','00013543','00013543',1511237080130,NULL,'1')

现在要把sim_id,wx_id从其他表中查询出来,然后其他列按上面的定值,再插入到mapping_record表,sql大致如下:

INSERT INTO `mapping_record` (id,mapping_record.type,sim_id,wx_id,created_time,updated_time,is_available) 
SELECT uuid(),'59e5cb4b0c824adea8adb2a87870875d',soe.fd_keyword AS sim_id,mapping.fd_wid AS wx_id,1511237080130,NULL,'1'
FROM wechat_org_mapping  mapping,sys_org_element soe
where  ...

因为sim_id,wx_id是从其他表中查询出来,连接查询比较复杂,这里就不贴了。但是注意,只要把特殊的列查询出来,指定别名就可以了。

 以下2中从一个表复制插入到另一个表简单的情况

1、如果两个表所有的列都相同,把table1的记录复制到table2:

INSERT INTO table2
SELECT * FROM table1;

2、只复制某一列:

INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;

我用的是mysql数据库,Oracle也支持这种写法。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159623.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C#FindWindowEx参数详解「建议收藏」

    C#FindWindowEx参数详解「建议收藏」FindWindowEx参数详解本函数的其他内容在网络上都比较多,这里主要说一下它的参数设置和搜索结果的区别。函数功能:在窗口列表中寻找与指定条件相符的第一个子窗口。该函数获得一个窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数查找子窗口,从排在给定的子窗口后面的下一个子窗口开始。在查找时不区分大小写。函数原型:HWNDFindWindowEx(HWNDh

    2022年6月1日
  • ntp协议详解_ntp端口号能否被修改

    ntp协议详解_ntp端口号能否被修改NTP客户端的代码实现

    2022年10月11日
  • springboot~mogodb多条件拼接

    springboot~mogodb多条件拼接

    2021年6月10日
  • SpringMVC 处理器适配器详解[通俗易懂]

    SpringMVC 处理器适配器详解[通俗易懂]0x00:介绍处理器适配器HandlerAdapter:作用是根据映射器找到的处理器Handler信息,按照特定的规则去执行相关的处理器Handler。其配置方式有两种,一种是基于xml的资源配置,也就是非注解的配置方式。另外一种就是基于Annotation注解的配置。其注解在代码中做上特殊标记,这些标记就可以编译、类加载、运行时被读取,然后去执行相应的处理。0x01:…

    2022年6月8日
  • SQL语句的decimal[通俗易懂]

    SQL语句的decimal[通俗易懂]以decimal(18,0)为例:18是定点精度,0是小数位数。decimal(a,b) a指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。 b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从0到a之间的值。默认小数位数是0。、“Decimal为SQLServer、MySql等数据库的一种数据类型,不属于浮点数类型,可以在定义时划定整数部分以及小数…

    2022年7月20日
  • 通俗理解kaggle比赛大杀器xgboost

    通俗理解kaggle比赛大杀器xgboost通俗理解kaggle比赛大杀器xgboost说明:若出现部分图片无法正常显示而影响阅读,请以此处的文章为准:xgboost题库版。时间:二零一九年三月二十五日。0前言xgboost一直在竞赛江湖里被传为神器,比如时不时某个kaggle/天池比赛中,某人用xgboost于千军万马中斩获冠军。而我们的机器学习课…

    2022年4月27日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号