Mysql多对多关系,分组拼接把多个数据查询到一条数据上

2023-11-08

  • GROUP_CONCAT(str):分组字符串拼接,与分组一起使用

案例:查询企业信息以及企业分类信息,其中企业分类信息和企业是多对多的关系,按普通的联表查询,我们会查询到一条企业信息对应多个企业分类,会出现多个记录。如果想实现把同一个企业的不同企业分类一个记录表示,就可以考虑使用GROUP_CONCAT,该函数会把多条数据拼接在一条数据上(默认使用,分割)

直接联表查询,会看到一个企业关联的企业分类是多个数据

select t_enterprise.*,
				dic_enterprise_category.name as enterpriseCategoryNames,
        dic_operation_status.name as operationStatusName,
				dic_region.name as regionName
        from t_enterprise
				left join ref_enterprise_category
        on t_enterprise.id = ref_enterprise_category.enterprise_id 
				left join dic_enterprise_category
        on dic_enterprise_category.id = ref_enterprise_category.category_id
        left join dic_operation_status
        on t_enterprise.operate_status_id = dic_operation_status.id
				left join dic_region
        on t_enterprise.region_id = dic_region.id

在这里插入图片描述

使用GROUP_CONCAT

select 
t_enterprise.*,
GROUP_CONCAT(DISTINCT  dic_enterprise_category.name) as enterpriseCategoryNames,
dic_operation_status.name as operationStatusName,
dic_region.name as regionName
from t_enterprise
	left join ref_enterprise_category
        on t_enterprise.id = ref_enterprise_category.enterprise_id 
	left join dic_enterprise_category
        on dic_enterprise_category.id = ref_enterprise_category.category_id
    left join dic_operation_status
        on t_enterprise.operate_status_id = dic_operation_status.id
	left join dic_region
        on t_enterprise.region_id = dic_region.id
GROUP BY id				
```=
![在这里插入图片描述](https://img-blog.csdnimg.cn/5d0f232be04b4ccbbe6ee8d1d196b1f7.png)

- 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql多对多关系,分组拼接把多个数据查询到一条数据上 的相关文章

  • 显示过去 7 天 PHP 的结果

    我想做的是显示过去 30 天的文章 但我现有的代码不断给我一个 mysql fetch assoc 错误 然后追溯到我的查询 这是代码 sql mysql query SELECT FROM table WHERE DATE datetim
  • MySQL 5左连接未知列

    我有以下查询在 mysql 4 1 中工作 但在 5 0 中不起作用 SELECT FROM email e event email ee LEFT JOIN member m on m email e email WHERE ee ema
  • 获取查询的行号

    我有一个查询将返回一行 当表排序时 有什么方法可以找到我正在查询的行的行索引吗 我试过了rowid但当我期待第 7 行时却得到了 582 Eg CategoryID Name I9GDS720K4 CatA LPQTOR25XR CatB
  • PDO fetch() 失败时会抛出异常吗?

    有没有方法PDO语句 fetch http php net manual en pdostatement fetch php如果 PDO 错误报告系统设置为抛出异常 则在失败时抛出异常 例如 如果我设置 PDO ATTR ERRMODE g
  • 执行许多插入重复键更新错误:未使用所有参数

    所以我一直在尝试使用 python 2 7 15 使用 mysql connector 执行此查询 但由于某种原因 它似乎不起作用并且总是返回错误 并非所有参数都被使用 表更新有一个主键 即 ID 这是我尝试运行此 SQL 的查询 sql
  • Spark SQL/Hive 查询通过 Join 永远持续下去

    所以我正在做一些应该很简单的事情 但显然它不在 Spark SQL 中 如果我在 MySQL 中运行以下查询 查询将在不到一秒的时间内完成 SELECT ua address id FROM user u inner join user a
  • 将列的值添加到 LIKE 语句中?

    我有 3 个标签表 标签类别和使用过的标签 我想要获取所有标签的列表以及已使用标签的计数 所使用标签的格式是每个具有标签的文档 ID 的逗号分隔值 我一直在尝试类似的方法 但无法将tags tag 字段的值插入到LIKE 语句中 SELEC
  • 选择MySql表数据放入数组中

    我尝试从 mysql 捕获数据并将它们全部放入数组中 认为 users table id name code 1 gorge 2132 2 flix ksd02 3 jasmen skaod2 sql mysql query select
  • MySQL“选择更新”行为

    根据 MySql 文档 MySql 支持多粒度锁定 MGL case 1 开放航站楼 1 连接到mysql mysql gt start transaction Query OK 0 rows affected 0 00 sec mysql
  • 如何使用实体框架设置连接字符串

    我将 EF6 与 MySQL 结合使用 并有一个用于多个数据库的模型 我希望能够在我的表单中设置连接设置 如何以编程方式设置模型的连接字符串 你应该使用EntityConnectionFactory这就是您所需要的 public strin
  • 如何将 php Web 应用程序转换为桌面应用程序并保留数据库 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我们有一个用 PHP 开发的 Web 应用程序 但大多数客户并没有一直连接到互联网 那么 有没有办法将应用程序转换为桌面应用程序 以便
  • Sql:计算随时间的增长

    我几周前发布了这个问题 但我认为我没有清楚地提出这个问题 因为我得到的答案不是我想要的 我认为最好重新开始 我正在尝试查询数据库以检索一段时间内唯一条目的数量 数据看起来像这样 Day UserID 1 A 1 B 2 B 3 A 4 B
  • 如何修复 InterfaceError: 2003: 无法连接到“127.0.0.1:3306:3306”上的 MySQL 服务器(11001 getaddrinfo 失败)

    我的MySQL连接成功但是遇到这个界面错误 import mysql connector db mysql connector connect host 127 0 0 1 3306 user root passwd teja databa
  • Quartz.NET 设置 MisfireInstruction

    我正在使用 Quartz NET 在 C 中工作 并且在 CronTrigger 上设置失火指令时遇到问题 我正在运行安装了 Quartz DB 的 SQL 后端 我有以下代码 可以很好地创建作业和运行调度程序 IScheduler sch
  • 如何在 join 语句中进行计数

    我有桌子post int post id varchar title text content和表comment int comment id int post id varchar content其中 post id 是外键引用表帖子 如
  • 从数据库 MYSQL 和 Codeigniter 获取信息

    如果你们需要其他信息 上一个问题就在这里 从数据库中获取信息 https stackoverflow com questions 13336744 fetching information from the database 另一个更新 尽
  • 更新plpgsql中触发器函数中的多列

    给出以下架构 create table account type a id SERIAL UNIQUE PRIMARY KEY some column VARCHAR create table account type b id SERIA
  • 累计非重复计数

    我正在查询每天获取 uid 的累计不同计数 示例 假设有 2 个 uid 100 200 出现在日期 2016 11 01 并且它们也在第二天出现 新的 uid 300 100 200 300 出现在 2016 11 02 此时我希望商店累
  • 案例陈述以确定我是否应该结合

    我目前想做某种条件联合 给出以下示例 SELECT age name FROM users UNION SELECT 25 AS age Betty AS name 假设我只想在 用户 计数 gt 2 时合并第二个语句 否则不合并两者 总之
  • 通过将行旋转为动态数量的列来在 MySQL 中创建摘要视图

    我在 MySQL 中有一个表 其中包含以下字段 id company name year state 同一客户和年份有多行 以下是数据示例 id company name year state 1 companyA 2008 1 2 com

随机推荐

  • 深度学习之图像分类(一)--分类模型的混淆矩阵

    深度学习之图像分类 一 分类模型的混淆矩阵 深度学习之图像分类 一 分类模型的混淆矩阵 1 混淆矩阵 1 1 二分类混淆矩阵 1 2 混淆矩阵计算实例 2 混淆矩阵代码 3 混淆矩阵用途 深度学习之图像分类 一 分类模型的混淆矩阵 今天开始
  • 有时候在textarea中显示的数据页面显示总是不能顶头,开头总是有几个空格

    代码如下
  • 利用redis实现消息队列之topic模式

    redis同样可以实现消息队列的发布订阅功能 发布消息者使用比较简单 订阅消息者则需要手动继承 redis clients jedis JedisPubSub 这个抽象类 消费者有动作时就会回调这个实现类的方法 新建两个maven工程 生产
  • FFmpeg接收H.264解码并播放

    在前面一个博客 地址在这里 中 我们做到了将采集的摄像头数据编码为H 264 接下来我么讨论下如何将H 264发送 在接收端接收解码并播放 和上一篇编码的博客一样 我们也是直接调用ffmpeg exe和ffplay exe文件 内部的具体操
  • nginx服务器部署多个项目,怎么在docker中使用nginx部署多个项目

    怎么在docker中使用nginx部署多个项目 发布时间 2021 04 07 16 37 29 来源 亿速云 阅读 79 作者 Leah 栏目 服务器 本篇文章给大家分享的是有关怎么在docker中使用nginx部署多个项目 小编觉得挺实
  • 分页ajax上一页下一页,JQuery AJAX 分页,跳页下一页,上一页【总结了一天啊干货】...

    网上的分页基本有问题 自己总结下 代码如下 var pagesi 2 每页行数 var totalPage 0 总页数 var currentPage 1 当前页 function menu item click function menu
  • 目标识别算法C语言,大盘点

    原标题 大盘点 性能最强的目标检测算法 来源 CVer ID CVerNews 作者 Amusi 整理编辑 三石 新智元导读 目标检测中存在两个非常重要的性能 精度和速度 特指mAP和FPS 本文便对mAP最高的目标检测算法进行了盘点 趁最
  • [ 搞一点AutoSar ]一张图帮你理解CAN通信全过程

    笔者最近一直在学习AUTOSAR 通信部分的相关知识 经过长时间的学习有了一个大概的了解 但一直感觉资料介绍的东西都很零散 不是很全面 这样子无法建立一个完整的知识体系 于是笔者查阅各种资料 加上自己的一点理解 制作了CAN通信部分从软件到
  • python输入输入:input、map

    主要整理python中输入输出用到的几个函数 print函数 print函数是python中常用到的一个函数 关于print的用法这里是详细的一些介绍 input函数 input函数的用法如下 x input 提示信息 input得到的值是
  • 【期末复习】UML

    五类视图 五类图 用例视图 逻辑视图 并发视图 组件视图 部署视图 九种图形 用例图 唯一有用户参加的图 静态图 类图 对象图 行为图 状态图 活动图 交互图 顺序图 时序图 协作图 通信图 实现图 组件图 构件图 部署图 活动图 唯一表示
  • vue将后端获取到的路由,通过 addRouter 动态添加。

    获取路由参数 将路由添加到路由集合中去 获取 路由信息 axios post api mock getMenu then resp gt let datas resp data 遍历获取到的路由数组将其添加到全局路由中 datas forE
  • vue之watch的用法

    一 什么是watch watch 用于监听data里面的数据是否被修改 一旦修改就可以执行一些其他的操作 也是方法 二 watch的用法 watch在监听的时候 可以有二次参数 第一次参数为更新的数据 第二个参数为之前的旧数据 div h1
  • 广电家庭服务器维修电话,广电家庭服务器换路由器怎么设置

    广电家庭服务器换路由器怎么设置 内容精选 换一换 用户的弹性云服务器已绑定EIP 但是无法连接到Internet 弹性云服务器通过EIP访问Internet的流程如图1所示 本问题请按照以下思路进行排查处理 查看弹性云服务器运行是否正常查看
  • HBase 二级索引的设计 (案例讲解)

    HBase 二级索引的设计 案例讲解 最近做的一个项目涉及到了多条件的组合查询 数据存储用的是HBase 恰恰HBase对于这种场景的查询特别不给力 一般HBase的查询都是通过RowKey 要把多条件组合查询的字段都拼接在RowKey中显
  • SQL Server 2016新特性:DROP IF EXISTS

    在我们写T SQL要删除某个对象 表 存储过程等 时 一般会习惯先用IF语句判断该对象是否存在 然后DROP 比如 旧版本 IF OBJECT ID dbo PERSON U IS NOT NULL DROP TABLE PERSON IF
  • element-plus中el-sub-menu样式修改

    注意
  • 二分查找(代码实例)

    基本思路 当我们要从一个序列中查找一个元素的时候 最快想到的方法就是顺序查找法 即 从前到后依次查找 但这种方法过于无脑 就是暴力的把每个元素都排查一遍 元素个数少的时候还行 一旦元素个数多起来 效率是非常低下 所以在实际中这种查找的方法是
  • 前程无忧招聘信息爬取

    爬取前程无忧招聘信息 本文是关于招聘数据爬取 我们选取的网站是前程无忧 百度直接搜索前程无忧 或者51job 我们将看到搜索栏 在搜索栏中输入 数据分析师 将可以看到工作信息 至于分析网站在这里就不在解释了 本爬虫只是简单爬取一点数据 所以
  • 计算机怎么盲打键盘,如何练习盲打 键盘盲打指法练习技巧-电脑教程

    很多人在电脑上打字都还需要看着键盘 不会盲打 看到电脑高手噼里啪啦的打字速度着实令人羡慕 很多小白朋友所自己笨 不会盲打 其实不会盲打并不是因为笨 而是没找到一种简单易行的练习方法 按照标准指法 看着键盘按照从A到Z的顺序打26个字母 最多
  • Mysql多对多关系,分组拼接把多个数据查询到一条数据上

    GROUP CONCAT str 分组字符串拼接 与分组一起使用 案例 查询企业信息以及企业分类信息 其中企业分类信息和企业是多对多的关系 按普通的联表查询 我们会查询到一条企业信息对应多个企业分类 会出现多个记录 如果想实现把同一个企业的