我的编程空间,编程开发者的网络收藏夹
学习永远不晚

一对多时,如何将userId相同的多条关联表数据合并为一条

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

一对多时,如何将userId相同的多条关联表数据合并为一条

工作中遇到了主表关联拓展表的字段,查询后在表单上将一个userId关联到的多条拓展表数据合并为一行展示的场景,在这里记录一下解决方法。

1.PGSQL的方法

业务场景:存在3个表(人员表,人员属性关联表,属性字段拓展表),一个人员可以有多个属性,需要在列表上将人员的信息和属性类型展示在一行,如图2。

在这里插入图片描述

图1

在这里插入图片描述

图2
这里由于涉及分页展示,所以人员表不便于和人员属性关联表直接left join,但是这里可以先把人员id相同的关联表数据合并为一条,然后将这些合并后的数据作为临时表和人员表left join
这样就避免了分页时条数会因为在内存中合并同userId的数据行而减少的问题,合并中间表的数据作为临时表的SQL大致如下。

select id,string_agg(type,',') from relation group by id;

参考博客:
string_agg函数

2.MYSQL的方法

MySql中没有string_agg聚合函数,但是可以使用group_concat解决这个问题。
在这里插入图片描述

创建demo表

添加演示数据
在这里插入图片描述

示例SQL

SELECT id,GROUP_CONCAT(description) as des from user_demo GROUP BY id

结果

参考博客:
在这里插入图片描述

MySQL 多行数据合并成一行

来源地址:https://blog.csdn.net/qq_41659869/article/details/127620396

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

一对多时,如何将userId相同的多条关联表数据合并为一条

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL如何将多条数据合并成一条

本篇内容主要讲解“MySQL如何将多条数据合并成一条”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL如何将多条数据合并成一条”吧!数据库中存的是多条数据,展示的时候需要合并成一条数据表存
2023-07-05

MySQL 多表关联一对多查询取最新的一条数据

SQL语句  SELECT SQL_CALC_FOUND_ROWS* FROMtableA aLEFT JOIN (SELECTBC.* FROM( SELECT MAX( id ) AS cid FROM tableB GROUP BY code ) ACL
MySQL 多表关联一对多查询取最新的一条数据
2014-05-20

MySQL 多表关联一对多查询实现取最新一条数据的方法示例

本文实例讲述了MySQL 多表关联一对多查询实现取最新一条数据的方法。分享给大家供大家参考,具体如下: MySQL 多表关联一对多查询取最新的一条数据 遇到的问题 多表关联一对多查询取最新的一条数据,数据出现重复由于历史原因,表结构设计不合
2022-05-16

在获取数据作为输出时,如何在同一列上使用多个条件?

以下是我们编写查询的方法,该查询仅返回与同一列上的多个条件匹配的记录通过使用“OR”逻辑运算符众所周知,MySQL 的“OR”运算符比较两个表达式,如果其中一个表达式为 TRUE,则返回 TRUE。以下示例演示了如何对同一列上的多个条件使用
2023-10-22

编程热搜

目录