时间:2021-05-23
两个不同的表进行查询,需要把结果合并,
比如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 = 527unionselect 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 "模块名" ,"事件编码") T5JOIN(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 列不同的表查询结果合并操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1.原始查询表结果2.理想查询表结果一很牛的朋友写的sql语句大笑,学习啦偷笑:selectuserpwd,username=stuff((select','+
NULL值影响查询条件的结果,并且结果很微妙。以下是SQL中AND,OR,NOT的真值表。表1AND的真值表TRUEFALSENULLTRUETRUEFALSE
/*--用存储过程实现的分页程序显示指定表、视图、查询结果的第X页对于表中主键或标识列的情况,直接从原表取数查询,其它情况使用临时表的方法如果视图或查询结果中有
MySQL表子查询表子查询是指子查询返回的结果集是N行N列的一个表数据。MySQL表子查询实例下面是用于例子的两张原始数据表:article表:blog表:SQ
代码如下:复制代码代码如下://////将两个列不同的DataTable合并成一个新的DataTable//////源表///需要合并的表///需要排重列表(为