位置: 编程技术 - 正文

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
  • 应有财务软件
  • 员工拓展培训进度怎么写
  • 企业收到外汇的账务处理
  • 销售回扣的账务处理办法
  • 会计去报税流程
  • 税收分类编码如何填写
  • 当期损益包括营业外收支吗
  • 非营利组织取得稳岗补贴收入要交税吗
  • 提供建筑服务应在发票备注栏注明
  • 个人所得税退税截止日期2023
  • 公司办公楼转让缴纳增值税的依据
  • win11预览版怎么变回正式版
  • 其他应收款包括差旅费吗
  • 年度利润总额是会计利润吗
  • 存货损失进项税
  • 把试驾车当新车卖,构成欺诈
  • 怎么修改boot启动项
  • PHP:Memcached::resetServerList()的用法_Memcached类
  • php options
  • 基础会计供应过程的核算内容
  • 马尔堡酒庄
  • 出差有补贴
  • 运城盐湖中国死海养生城
  • php框架运行机制
  • cvpr2023最佳论文
  • php函数作用
  • object.assign(this.$data, this.$options.data())
  • 城建税减半征收会计分录
  • 公司迁移到外省 税务局需要注销吗
  • 帝国cms怎么安装不了
  • vue开发小技巧
  • 资本公积常用的计量方法
  • 销售折让怎么核算成本
  • 银行手续费发票未到怎样做账
  • 去年发生了什么
  • kibana 教程
  • sql server go语句
  • 数据库my sql
  • 网上变更财务负责人新负责人要确认吗
  • sql2017附加数据库
  • 汽车销量多少才能赚钱
  • 买车哪些费用可以计入固定资产
  • 什么情况下增值税计入成本
  • 预提费用没有收到发票也没有付款
  • 车船税去哪里交
  • 管理费用借方红字怎么记凭证
  • 车辆购置税计入什么科目
  • 车辆按揭贷款需要什么
  • 费用科目可以在借方吗
  • 投资收益主要包括哪些
  • mysql查询语句中的逻辑运算符
  • mysql日志的作用
  • mysql error1418
  • MySQL使用xtrabackup进行备份还原操作
  • crypt什么文件
  • mac命令行窗口怎么打开
  • centos 查看用户命令
  • win7纯净版系统多大
  • unityapi解析
  • js继承原型链
  • 如何用python连接数据库
  • shell python
  • 手把手教你打造一个花灯笼,老师看到肯定惊喜
  • 汽车车船税收费标准表山西
  • 税务文书送达回证模板
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设