位置: 编程技术 - 正文

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

  • 未达起征点的增值税要交企业所得税吗
  • 纳税检查调减进项税额主表怎么不显示缴纳税款
  • 总公司和分公司可以在一个城市吗
  • 开票不确认收入可以吗
  • 一般纳税人取得3%专票可以抵扣吗
  • 小规模纳税人销售额
  • 企业安全生产费用提取标准 最新
  • 公司偷税漏税是当事人责任大还是法人责任大
  • 住宿发票抵扣怎么做账
  • 建设工程项目融资
  • 收取招标代理费会计分录
  • 公司将我转到另外一家公司
  • 金税三期个人客户端在哪下载
  • 补发工资个人所得税怎么申报
  • 美国边境管理体制
  • 企业资产损失会计处理
  • 不动产公告期
  • 当月认证失控发票怎么做账处理?
  • 将外购商品用于在建工程计入固定资产成本吗
  • 财务费用算营业利润吗
  • 研发样品销售成本
  • 往来款核销需要如何确认
  • 计划分配率怎么算
  • 小规模纳税人的专票可以抵税吗
  • 购进土地会计分录
  • macos big sur正式版
  • googlechrome谷歌浏览器
  • 支付货款的流程
  • 车船使用税凭证还要过户吗怎么办
  • 销售无形资产增值税税率2022
  • 深入解析wordpress
  • 头歌java入门运算符和表达式答案
  • 伫立枝头的旅鸫鸟,加拿大 (© marcophotos/Getty Images)
  • 银行日记账本月没有发生业务
  • php开发过程遇到的难题
  • 小规模纳税人收入会计分录
  • php获取地理位置
  • 什么叫同比什么叫环比
  • cv2.error:opencv(3.4.2)
  • sass和less的区别使用
  • unzip解压命令参数
  • 港股上市公司股票代码
  • 原始投资额的现值
  • 未开票收入增值税申报
  • mysql查询的结果缓存里怎么清除
  • python怎么用
  • 劳务派遣工资的发放单位
  • 房产税是按不含增值税计提吗
  • 广告制作费怎么入账
  • 出口货物关税完税价格包括哪些
  • 水利建设基金现在入费用还是入应交税费了
  • 符合规定的国内旅客运输发票可以作为扣税凭证吗
  • 小规模免征增值税的会计处理办法
  • 如何解决私账流失问题
  • 不动产分割要哪些步骤
  • 没有收到款项签认债有用吗
  • 法人银行贷款
  • 水利工程施工税率是多少
  • 开发票货款未公对公转如何做账?
  • 用美元账户余额怎么用
  • 独立核算和非独立核算哪个好
  • 回购股票会导致所有者权益减少吗
  • mysql precision
  • windows2003服务
  • linux操作系统版本有哪些
  • 用U盘安装系统重启后进不去
  • Win7摄像头怎么打开
  • win7禁用驱动签名后可以正常启动吗
  • 飞行体验设备
  • linux rsync同步命令(值得收藏)
  • eval()函数python
  • jquery 动态加载js
  • Python安装教程windous7
  • javascript教程推荐知乎
  • javascript语言基础
  • js模拟点击事件onclick
  • 如何计算白酒的出酒率
  • 一般纳税人服务费是几个点
  • 北京朝阳区电话区号是多少?
  • 法制观念的问题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设