位置: 编程技术 - 正文

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中的视图提高了数据库的)

  • 电子税务局如何删除办税人员
  • 金税四期上线了吗什么时候上线
  • 企业所得税的营业成本
  • 用友删除凭证后期初余额不对
  • 企业停产多久算长期停产
  • 按月按季申报
  • 业务员不拿工资怎么办
  • 签章是签字还是盖章 财务
  • 收回已转销的坏账在借方还是贷方
  • 向董事赠送礼品怎么写
  • 外出经营活动结束纳税人应当向经营地税务机关填报
  • 小规模纳税人可以抵扣进项税吗
  • 政府电费补贴文件
  • 收到保险公司返还的保险费
  • 国有资产无偿划转管理办法
  • 国税对个体户征收哪些税?
  • 确认一个会计项目应符合的基本标准有
  • 公司厂房在建但已收到房租是否要交房产税呢?
  • 工信部联企业[2011]300号 小型企业
  • 企业所得表怎么填写
  • 存货盘亏损失
  • 出纳人员怎么核对现金日记账?
  • 餐饮充值赠送
  • windows11安装错误
  • win10 专业版 企业版
  • 笔记本开机黑屏不显示任何东西
  • 收到预付卡发票分录
  • 企业自建房需要交哪些税
  • 工程施工广告牌
  • win10系统安装详细步骤
  • wordpress用什么开发的
  • 付临时工资怎么入账
  • 小型企业的资产负债表
  • 摊销专利权会计分录怎么写
  • 增值税退税是否属于政府补助
  • 财务会计制度备案信息有效期起止怎么填
  • redis如何实现分布式事务
  • 适合练手的动漫人物
  • pytorch example
  • densenet详解
  • 出差餐补贴标准
  • 数据分析利器:pandas库的应用课后答案
  • box-sizing:border-box的理解和作用
  • php 截取字符
  • 增值税抵扣要求一一对应
  • 税务退附加税会计分录
  • 房子是固定资产的好处
  • 函数模拟图
  • 反射怎么解释
  • ant design vue2.0
  • sql2005sp4
  • 收到服务费发票怎么做账
  • mysql中where的用法
  • 普通发票领多了怎么处理
  • 进出口贸易公司取名字大全
  • 企业尚未给予指定用途
  • 不需要计提折旧的情况
  • 安全生产责任险是强制险吗
  • 汇兑损益是什么凭证类型
  • 资产负债表的编制依据是会计恒等式
  • MySQL统计函数GROUP_CONCAT使用陷阱分析
  • sql语句示例
  • 数据库账号密码怎么修改
  • 在window7
  • centos7installation怎么配
  • launcheflc.exe什么意思
  • windows media player在播放文件时遇到问题怎么解决
  • win10总是锁定
  • win8系统怎么搜索文件
  • linux挂载的概念
  • Extjs中RowExpander控件的默认展开问题示例探讨
  • android app 开发框架
  • python第九套答案
  • js定义json对象
  • jquery的实现原理
  • 电子税务局更改密码怎么改
  • 税控盘时钟异常去政务大厅那个窗口办理
  • 宁波市开发区
  • 公司的车销售给个人怎么做账
  • 天津国税发票查询真伪查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设