sql如何合并多个表中的数据(SQL 列不同的表查询结果合并操作)
类别:数据库 浏览量:2125
时间:2022-04-01 21:23:32 sql如何合并多个表中的数据
SQL 列不同的表查询结果合并操作两个不同的表进行查询,需要把结果合并,
比如table1的列为 id, user_id, type_id,pro_id;
table2的列为 id,user_id,collect_id;分别如下图所示
table1:
table2:
将两个表的查询结果合并到一起的查询语句为
|
select *, null as collect_id from table1 where user_id = 527 union select id,user_id, null as type_id, null as pro_id, collect_id from table2 where user_id = 527; |
结果为:
其实就是把对应的列补充到没有该列的表中,在例子中就是把collect_id补充到table1中,
把type_id,pro_id补充到table2中。
补充知识:sql结果集合并用union all 不同表的列合并用join
结果集合并用union all 不同表的列合并用join
|
SELECT "模块名" , "事件编码" , "点击数量" , "使用时长(单位:分)" FROM ( SELECT T.fun_name as "模块名" , T.event_code as "事件编码" , SUM (click_records) as "点击数量" FROM ( SELECT m.* FROM default .daily_new_clientrpt_master m WHERE event_id in ( SELECT max (event_id) AS "事件" from default .daily_new_clientrpt_master group by user_name,fun_code ORDER BY "事件" DESC ) ) T where day = today() GROUP BY "模块名" , "事件编码" ) T5 JOIN ( SELECT T.fun_name as "模块名" , T.event_code as "事件编码" , round( sum (stay_time)/60000,0) as "使用时长(单位:分)" FROM ( SELECT m.* FROM default .daily_new_clientrpt_master m WHERE event_id in ( SELECT "事件" FROM ( SELECT max (event_id) AS "事件" , max (stay_time) AS "事件1" from default .daily_new_clientrpt_master group by user_name,fun_code ORDER BY "事件1" DESC ) ) ) T where day = today() AND like (event_code, '%10000' ) GROUP BY "模块名" , "事件编码" ) T6 ON T5. "模块名" =T6. "模块名" AND T5. "事件编码" =T6. "事件编码" |
以上这篇SQL 列不同的表查询结果合并操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/u010498402/article/details/78038553
您可能感兴趣
- mysql的基本索引类型(MySQL 隔离数据列和前缀索引的使用总结)
- sqlserver最大数据导入量(SQL Server批量插入数据案例详解)
- sqlserver2012知识点(SQL Server 2012 安全概述)
- sparksql的string转日期格式(将string类型的数据类型转换为spark rdd时报错的解决方法)
- sql中having用法(sql中的 where 、group by 和 having 用法解析)
- mysql清空数据库所有表格(MySQL用truncate命令快速清空一个数据库中的所有表)
- mysql查询逗号分割字符串(MySQL 字符串拆分实例无分隔符的字符串截取)
- mysql数据库的备份与恢复的方法(详解Mysql之mysqlbackup备份与恢复实践)
- mysql的默认数据库例子在哪里(修改MySQL8.0 默认的数据目录快捷操作无配置)
- sql server 动态建表(SQL Server如何通过创建临时表遍历更新数据详解)
- sql server还原数据库时提示数据库正在使用
- dedecms时间代码(Dedecms中常用数据调用的sql语句汇总)
- SqlServer 英文单词全字匹配详解及实现代码(SqlServer 英文单词全字匹配详解及实现代码)
- mysql自增主键创建过程(深入谈谈MySQL中的自增主键)
- mysql高可用集群(MySQL之高可用集群部署及故障切换实现)
- mysql创建表的基本步骤(mysql中操作表常用的sql总结)
- 苏志燮赵恩静结婚,韩国四大公共财产变三人,这么快就有替补了(苏志燮赵恩静结婚)
- 《内在美》后,一大波新韩剧来袭,李钟硕朴信惠宋慧乔玄彬回归(一大波新韩剧来袭)
- 给孩子选购保温杯,注意这4个步骤,比颜值更重要(给孩子选购保温杯)
- 保温好 容量大 颜值高 保温杯你给娃娃买对了吗(保温好容量大颜值高)
- 《道德经》 人生避开骄狂,才能免去祸患(道德经人生避开骄狂)
- 郭麒麟(郭麒麟)
热门推荐
- C#enum枚举
- 如何提高网站的用户粘度
- dedecms关闭站点(dedecms恶意注册与发广告文章的解决办法)
- dedecms地址优化(加快DedeCMS文章页显示速度的两个小技巧分享)
- 云虚拟主机缺点(云虚拟主机未来会怎么发展?)
- dockerbuild清除缓存(Docker自动化构建Automated Build实现过程图解)
- ftp总是出现错误(FTP出现500 OOPS: cannot change directory的解决方法)
- apache怎么配置服务器(Apache2 WEB服务器的配置步骤分享)
- laravel框架的运行机制(Laravel5框架自定义错误页面配置操作示例)
- js日历图片(js实现简单日历效果)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9