位置: 编程技术 - 正文

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

  • 公司全额承担个税怎么申报
  • 车船税不交有什么影响 三大影响要注意
  • 进项都抵扣完了怎么办
  • 暂估资产会计处理
  • 法人转入公司的资金怎么做账
  • etc充值怎么操作
  • 工商年报的应交税费包含哪些
  • 自建固定资产入账
  • 固定资产采用工作量法计提折旧怎么算
  • 退货报废计入哪类费用
  • 施工企业结算金额怎么算
  • 员工福利费是不是加班费
  • 金税设备维护费账务处理
  • 意外保险计入职工薪酬
  • 一般纳税人施工费税率是多少
  • 绿植租赁公司都适合什么名字
  • 维修材料属于什么会计科目
  • 企业所得税中准予扣除的损失
  • 房地产企业预收房款开票
  • 来料加工的生产企业
  • 取得运输单位开具的普通发票
  • 固定资产报废后怎么处理
  • 汇算清缴发票可以做费用票吗
  • 长期股权投资损失计入什么科目
  • 系统浏览器
  • php生成app
  • window11安装失败
  • 苹果14发布会时间
  • 工地包工工程款一般怎么结
  • 发票明细与实际不符是什么行为
  • PHP:session_cache_expire()的用法_Session函数
  • 无偿提供房屋使用 维修
  • html页面中利用______标签可引入jquery库
  • vue3自定义指令
  • 汽车销售行业的税负率是多少
  • 用土地抵账合法吗
  • linux如何搭建
  • 红嘴牛文鸟图片
  • 资本化的研发费用计入什么科目
  • PHP中strpos、strstr和stripos、stristr函数分析
  • 应收账款怎么做账
  • vue挂载dom
  • python读取TXT文件代码
  • 长期借款的处理原则
  • 织梦森林官网
  • 非税收入票据可以跨年度使用吗
  • sqlserver2016维护计划
  • 根据sql脚本修改数据类型
  • 二手车需要交什么
  • 固定资产报废如何交增值税
  • 网上银行可以取款吗
  • 政府代建项目计划方案
  • 押金 做账
  • 投资性房地产从成本模式转为公允价值模式
  • 有净残值的固定资产怎么计提折旧
  • 应付账款的账务怎么处理
  • 个人垫付社保会计分录
  • 公司购买的打印机附赠给客户进项税可以抵扣吗
  • 支付劳务费是劳务所在地吗
  • 公司购买垃圾袋纸巾摘要怎么写好
  • 支付代理费计入什么科目
  • 总账的建账过程
  • mysql 连接语句
  • 微软6月24号
  • wp升级
  • 虚拟机怎么安装exe文件
  • svchost进程可以结束吗
  • newdot.exe - newdot是什么进程 有什么用
  • windows 10更新卡住
  • 校园网升级套餐
  • 批处理/l
  • python日历查询系统
  • 搜狐畅游手游官网
  • unity manifest
  • 酒类包装物押金的消费税处理规定
  • 税务稽查强制措施
  • 广东税务微信公众号微办税
  • 农副产品免税最低多少
  • 怎样查工商局备案
  • 金水区地税局办事大厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设