当前位置: 首页 > news >正文

[MYSQL]mysql将两个表结果合并到一起

功能:

        使用mysql中union all 将2个表中的数据查询结果合并到一个返回结果中。再针对结果统一排序操作等。(注:2个表返回的列名必须一致)

语句如下:

SELECT
    表1.字段,
    表2.字段,
    ...
FROM
    (SELECT
        表.字段1,
        表.字段2
    FROM
        表
    WHERE
        条件
    ) 表1
    UNION ALL
    (SELECT
        表.字段1,
        表.字段2
    FROM
        表
    WHERE
        条件
    ) 表2
WHERE
    相关条件
ORDER BY
    排序条件等
原文:https://blog.csdn.net/u013109978/article/details/69230196

mysql sql语句多表合并UNION ALL和UNION

select
    d1.ID,CAST(d1.ID AS CHAR) AS intId, d1.CODE_TYPE, d1.CODE, d1.CODE_IMG, d1.VALUE
    from m_dict_code d1
    where d1.CODE_TYPE in('USER_TYPE','addSupers')
        UNION 
        select 0,v.ID,v.TYPE,v.`CODE`,v.DESCRIPTION,v.VALUE_STRING from m_variable as v where v.type='tequan'
        limit 1,20 

说明:

1.CAST (expression AS data_type)字段类型转换函数

CAST (表名.字段名 AS 类型)
注意:
1.mysql int转varchr会出现问题
   错误: CAST (表名.字段名 AS varchar)
   正确:CAST (表名.字段名 AS char)或concat(d1.ID,'')
   说明:
       将Int 转为varchar经常用 concat函数,比如concat(8,’′) 
       将varchar 转为Int 用 cast(a as signed)  

2.UNION和UNION all 多表合并函数

问题:

1.两表字段类型不一致 用cast或concat函数解决

2.两表列属性数量不一致问题 select后跟相同类型字段值 (int类型)0或(字符串)''解决问题

3.(自动去重)UNION (允许重复的值)UNION all 

mysql api:http://www.mysqlab.net/docs/view/refman-5.1-zh/chapter/functions.html

https://www.cnblogs.com/awzf/p/9803559.html

相关文章:

  • 【MYSQL】mysql把字段进行逗号分隔成多条数据
  • 【python备份】Python备份CSDN完整博客 研读
  • 【python】Python中yield的理解与使用|python生成器
  • 【数据结构】八大数据结构分类 研读笔记
  • 【python】list、tuple、dict、set、dataframe、narray、series之间的区别
  • 【python】python3.7数据分析入门学习笔记 研读
  • 【VS输出UTF8】 C++ 控制台程序中输出UTF8字符乱码问题解决方法
  • 【python】python一些热点问题
  • 【thrift】thrift 研究
  • 【人工智能】我的人工智能之旅——线性回归 研读
  • 【python】Python Web服务器并发性能测试
  • 【protocolbuff】linux下安装google protobuf[实践] --未成功
  • 【ML】之 线性回归(实战) 研读
  • 【VS2017】VS2017离线安装教程
  • 【hadoop】为什么要用hadoop?
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • 《Java编程思想》读书笔记-对象导论
  • ➹使用webpack配置多页面应用(MPA)
  • 30秒的PHP代码片段(1)数组 - Array
  • canvas 高仿 Apple Watch 表盘
  • Js基础知识(四) - js运行原理与机制
  • js数组之filter
  • leetcode388. Longest Absolute File Path
  • php的插入排序,通过双层for循环
  • Spring声明式事务管理之一:五大属性分析
  • ViewService——一种保证客户端与服务端同步的方法
  • 从PHP迁移至Golang - 基础篇
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 微服务框架lagom
  • 优化 Vue 项目编译文件大小
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #QT(智能家居界面-界面切换)
  • $$$$GB2312-80区位编码表$$$$
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (day6) 319. 灯泡开关
  • (二)JAVA使用POI操作excel
  • (二)springcloud实战之config配置中心
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (五)关系数据库标准语言SQL
  • (转)c++ std::pair 与 std::make
  • (转)shell调试方法
  • *上位机的定义
  • .NET 5种线程安全集合
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .Net MVC4 上传大文件,并保存表单
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .NET 药厂业务系统 CPU爆高分析
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .NET下的多线程编程—1-线程机制概述
  • /bin、/sbin、/usr/bin、/usr/sbin
  • ::before和::after 常见的用法
  • @EventListener注解使用说明
  • @RequestParam,@RequestBody和@PathVariable 区别