SQL 列不同的表查询结果合并操作

 更新时间:2020年10月21日 08:52:33   作者:米开朗琪罗  
这篇文章主要介绍了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 列不同的表查询结果合并操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySql5.5忘记root密码怎么办

    MySql5.5忘记root密码怎么办

    使用mysql5.5,突然root密码忘记,怎么也登录不了,很急人,该怎么解决呢?下面通过本文给大家介绍mysql5.5忘记root密码的解决办法,需要的朋友参考下吧
    2016-01-01
  • MySQL数据库的约束限制详解

    MySQL数据库的约束限制详解

    这篇文章主要介绍了MySQL数据库的约束限制详解,数据库的约束是对表中数据进行的一种限制,为了保证数据的正确性、有效性、完整性,下文简单介绍需要的朋友可以参考一下
    2022-08-08
  • 非常实用的MySQL函数全面总结详解示例分析教程

    非常实用的MySQL函数全面总结详解示例分析教程

    这篇文章主要为大家介绍了非常实用的MySQL函数的详解示例分析,文中全面的概括了MySQL函数,并进行了详细的示例讲解,有需要的朋友可以借鉴参考下
    2021-10-10
  • MySQL动态SQL拼接实例详解

    MySQL动态SQL拼接实例详解

    动态SQL呢?首先是SQL语句,是根据条件来拼接SQL,下面这篇文章主要给大家介绍了关于MySQL动态SQL拼接的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • MySQL启动连接的命令以及与PHP程序连接的基本语法

    MySQL启动连接的命令以及与PHP程序连接的基本语法

    这篇文章主要介绍了MySQL启动连接的命令以及与PHP程序连接的基本语法,简单讲述了PHP中调用MySQL的方法,需要的朋友可以参考下
    2015-11-11
  • MySQL8的主要目录结构解读

    MySQL8的主要目录结构解读

    这篇文章主要介绍了MySQL8的主要目录结构,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • MySQL数据类型优化原则

    MySQL数据类型优化原则

    这篇文章主要介绍了MySQL数据类型优化原则的相关资料,帮助大家更好的理解和使用MySQL数据库,感兴趣的朋友可以了解下
    2020-11-11
  • MySQL由浅入深探究存储过程

    MySQL由浅入深探究存储过程

    存储过程就是一条或者多条SQL语句的集合,可以视为批文件,它可以定义批量插入的语句,也可以定义一个接收不同条件的SQL,下面这篇文章主要给大家介绍了关于MySQL中存储过程的相关资料,需要的朋友可以参考下
    2022-07-07
  • mysql命令行下执行sql文件的几种方法

    mysql命令行下执行sql文件的几种方法

    本文主要介绍了mysql命令行下执行sql文件的几种方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 详解Mysql查询条件中字符串尾部有空格也能匹配上的问题

    详解Mysql查询条件中字符串尾部有空格也能匹配上的问题

    在本篇文章里小编给大家整理的是关于详解Mysql查询条件中字符串尾部有空格也能匹配上的问题,需要的朋友们可以参考下
    2020-02-02

最新评论