位置: 编程技术 - 正文

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

  • 银行短期存款利息怎么算
  • 党建经费的标准
  • 一次性分红到期还本的会计分录
  • 个体户个人经营所得税税率表2023
  • 进项税额转出结平分录怎么写
  • 固定资产做错了怎么办
  • 税控盘专票认证登录密码正确还是登录不上去
  • 怎样填列分析资产负债表
  • 预付装修费的会计分录
  • 红字发票怎么勾选认证
  • 承兑多付了退现金网银备注什么
  • 当月计提的增值税是什么
  • 企业比赛奖品买什么好
  • 资产负债表最后要平吗
  • 如何理解纳税人资格
  • 商票背书需要对方开发票吗
  • 取得的分成收入怎么计算
  • 加工费的增值税计入什么科目
  • 上缴税金包括什么
  • 设置戴尔笔记本锁屏时间
  • 商贸公司不开发票还要上税吗
  • 增值税加计抵减最新政策2022
  • 在win7系统中如何让电脑恢复出厂设置方法
  • php 反射 性能
  • 在XP中,为什么"网络连接"图标消失?
  • pytorch的
  • mmc.exe是什么进程
  • 业务招待费税务筹划案例
  • 电脑文件删除如何找到
  • 增值税中非经营活动包括哪些
  • 怎么u盘装系统,u盘装系统教程图解
  • 公司出租房屋租赁发票税率
  • 短期借款帐务处理
  • 备用金报销怎么做账
  • 加利福尼亚湾在哪
  • 南奥索峰的Lac d'Ayous小屋,法国 (© Eneko Aldaz/Offset by Shutterstock)
  • 扣缴义务人应扣未扣如何处罚
  • 善意取得虚开增值税专用发票处理
  • 公司转让账务处理方法
  • ngnix 命令
  • 小规模收到成本发票分录
  • 有什么是即征即退税的
  • mongodb官方文档中文
  • dedecms v6
  • 坏账准备的账务处理例题视频讲解
  • 开具房租发票的分录如何做?
  • 合伙企业分配利润法律依据
  • 个体户季报网上申报怎么填写
  • 小规模企业增值税税收优惠政策2023
  • 自产产品对外捐赠为什么不确认收入
  • 厂房出租没有开发票属于违法吗?
  • 工程结算与工程施工
  • 汽车配件属于什么业务类型
  • 交去年的企业所得税吗
  • 未使用的固定资产计提折旧应当计入
  • 其他综合收益转出
  • 销项发票导出为什么是乱码
  • 航天信息开票软件客服
  • 需求价格弹性是ep还是ed
  • Mac怎么强制关闭窗口
  • 在windows中创建用户的步骤
  • xp简单实用的网络连接
  • windows使用cmd运行程序
  • win7运行慢如何解决办法
  • win7 32位内存最大支持多少
  • centos查看具体版本
  • win7系统怎么更改存储位置
  • windows7系统下给WORD2010设置打开密码的方法
  • AndEngine 《Android游戏开发实践指南》之“吸血鬼游戏”实例学习(一)
  • jquery操作html代码
  • 用pyth
  • 批处理set命令
  • jquery自带的弹出框
  • flow 开发
  • 国税局下设几个部门
  • 河南新乡地税局罗姓病逝
  • 远程视频监控设备
  • 发票机如何打印文件
  • 如何查询车辆购买的保险是哪家保险公司
  • 2021年十大慈善企业
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设