位置: 编程技术 - 正文

SQL 合并多行记录的方法总汇(sql合并多行到一列)

编辑:rootadmin
SQL中合并多行记录的方法总汇: --1. 创建表,添加测试数据 CREATE TABLE tb(id int, [value] varchar()) INSERT tb SELECT 1, 'aa' UNION ALL SELECT 1, 'bb' UNION ALL SELECT 2, 'aaa' UNION ALL SELECT 2, 'bbb' UNION ALL SELECT 2, 'ccc' --SELECT * FROM tb /**//* id value ----------- ---------- 1 aa 1 bb 2 aaa 2 bbb 2 ccc (5 row(s) affected) */ --2 在SQL只能用自定义函数实现 ----2.1 创建合并函数fn_strSum,根据id合并value值 GO CREATE FUNCTION dbo.fn_strSum(@id int) RETURNS varchar() AS BEGIN DECLARE @values varchar() SET @values = '' SELECT @values = @values + ',' + value FROM tb WHERE id=@id RETURN STUFF(@values, 1, 1, '') END GO -- 调用函数 SELECT id, VALUE = dbo.fn_strSum(id) FROM tb GROUP BY id DROP FUNCTION dbo.fn_strSum ----2.2 创建合并函数fn_strSum2,根据id合并value值 GO CREATE FUNCTION dbo.fn_strSum2(@id int) RETURNS varchar() AS BEGIN DECLARE @values varchar() SELECT @values = isnull(@values + ',', '') + value FROM tb WHERE id=@id RETURN @values END GO -- 调用函数 SELECT id, VALUE = dbo.fn_strSum2(id) FROM tb GROUP BY id DROP FUNCTION dbo.fn_strSum2 --3 在SQL/SQL中的新解法 ----3.1 使用OUTER APPLY SELECT * FROM (SELECT DISTINCT id FROM tb) A OUTER APPLY( SELECT [values]= STUFF(REPLACE(REPLACE( ( SELECT value FROM tb N WHERE id = A.id FOR XML AUTO ), '<N value="', ','), '"/>', ''), 1, 1, '') )N ----3.2 使用XML SELECT id, [values]=STUFF((SELECT ','+[value] FROM tb t WHERE id=tb.id FOR XML PATH('')), 1, 1, '') FROM tb GROUP BY id --4 删除测试表tb drop table tb /**//* id values ----------- -------------------- 1 aa,bb 2 aaa,bbb,ccc (2 row(s) affected) */

推荐整理分享SQL 合并多行记录的方法总汇(sql合并多行到一列),希望有所帮助,仅作参考,欢迎阅读内容。

SQL 合并多行记录的方法总汇(sql合并多行到一列)

文章相关热门搜索词:sql合并两行查询结果,sql怎么将多行合并为一行,sql合并多条记录某一个字段,SQL 合并多行记录的相同字段值,sql怎么将多行合并为一行,SQL 合并多行记录的相同字段值,SQL 合并多行记录的相同字段值,sql多行合并成一行多列,内容如对您有帮助,希望把文章链接给更多的朋友!

SQL中的left join right join 以下是它们的共同点:1.关于左右表的概念。左表指的是在SQL语句中排在leftjoin左边的表,右表指的是排在leftjoin右边的表。2.在拼成的大表中,左表排在

Sql Server 数据库索引整理语句,自动整理数据库索引 在一个大型数据库中,数据的更改是非常频繁的。而建立在这些数据上的索引也是需要经常去维护的。否则这这些数据索引就起不到起应起的作用。甚

查询数据排名情况SQL 1/准备测试数据---------------------------------------------------------------------------------createtablet1(c1integer,c2integer,c3integer);insertintot1values(1,2,3)insertintot1values(1,8,4)inse

标签: sql合并多行到一列

本文链接地址:https://www.jiuchutong.com/biancheng/349102.html 转载请保留说明!

上一篇:在sp_executesql中使用like字句的方法

下一篇:SQL中的left join right join(sql中的视图提高了数据库的)

  • 产权转让印花税计税依据
  • 房产公司企业所得税如何预征
  • 普通发票领多了会怎么样
  • 个人捐款合法吗
  • 款已付未收到发票怎么开
  • 新公司开账户需要多少钱
  • 所得税季报什么时间扣款
  • 以前年度损益调整结转到哪里
  • 技术服务企业会计思维导图
  • 民办职业技能培训学校办学许可证
  • 抵债资产账务处理2021年
  • 加建工程部分结算款如何做会计分录呢?
  • 施工单位对分包单位能罚款吗
  • 材料存货的期末计量有何特点
  • 财产租赁所得个人所得税计算方法2020
  • 境外企业开票没有税号怎么办?
  • 园林绿化工程的分项工程有几个
  • 企业如何申请定增资金
  • 税率开错跨月没法收回
  • 购买护肤品取得的发票能入账吗?
  • 纳税管理的主要内容是什么
  • 实行简易征收
  • 增发股票会计科目
  • 预付账款坏账处理流程
  • 收据可以入账的文件
  • 招商银行直播在哪个平台
  • win7怎么添加设备
  • 事业单位接受捐赠固定资产入账
  • 企业购入的专利权属于什么
  • 项目部可以直接给工人结账吗
  • php单例模式例子
  • 企业安置残疾人如何残联备案
  • php需要的软件
  • 应交税金 应交税费
  • php多条件搜索功能的实现
  • 预提费用的分录
  • 哈士奇新手礼包
  • 一个残疾证一年单位免多少税2023
  • web前端开发规范有哪些
  • 社会团体税收政策
  • 勾选认证发票的时候找不到这张发票号码怎么办
  • 大型广告牌制作材料
  • 已经红冲的发票显示正常
  • 织梦的首页怎么换图片
  • 银行承兑到期怎么入账
  • 小规模纳税人成本含税吗
  • sqlmap暴力破解
  • sqlserver2008数据库还原
  • 劳务派遣公司开票内容写什么
  • 其他综合收益的概念
  • 固定资产处置怎么报税
  • 委托加工商品属于什么资产
  • 工程保险费包括人身保险么
  • 电子发票如何申请电子签章
  • 如何结转完工产品成本和已销产品成本
  • 专票三流合一指哪三流
  • 商品流通企业会计第三版答案倪明辉
  • mysql怎么使用索引
  • winxp设置在哪
  • VMware虚拟机安装miui14
  • linux怎么自定义命令
  • centos怎么配置dns
  • win7怎么创建新盘
  • 计算机 win10 桌面
  • win10registry
  • win10系统打开安装程序没反应
  • 使用jquery操作dom
  • jquery 插件写法
  • android下拉刷新上拉加载
  • bitmap压缩到指定尺寸
  • 按钮用于控制电路
  • node中异步编程模式使用什么捕获异常
  • node.js的安装步骤
  • Unity3D游戏开发标准教程
  • 置顶是怎么弄的
  • js使用类
  • js能写贪吃蛇游戏是什么水平
  • 北京税务举报投诉
  • 日本各界
  • 代理记账公司前期准备流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设