位置: 编程技术 - 正文

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

  • 首付款计提税金吗
  • 一般纳税人开出的普票算销项税额吗
  • 员工借款业务流程
  • 盘盈的固定资产怎么做账务处理
  • 海关完税凭证抵扣清单在哪里
  • 收到银行汇票要去银行办理吗
  • 一般纳税人进货收到普通发票
  • 劳务分期收款税率是多少
  • 房屋租赁收入核定征收
  • 营改增行业的销售额
  • 多付车款退回怎么做账
  • 服务费可以不退吗
  • 一次性付清货款要交税吗
  • 企业所得税期末贷方余额怎么办
  • 物业收停车费要交房产税吗
  • 营改增后消费型增值税怎么算及举例说明
  • 个人税务代人开普票
  • 税务电子钥匙补办需要多久
  • 生产企业出口货物收不到款怎么处理
  • 会计学堂值得购买吗
  • 工商年报需要什么数据
  • 机器用润滑油怎么使用
  • 王者荣耀进不去怎么回事最新
  • 会计结算要求
  • 人际关系定义是什么
  • lstm多对多
  • 其他应收个人贷方余额表示什么意思
  • wordpress文章分页插件
  • html转化成图片
  • php正则表达式验证网址
  • uniapp中使用amap-vue,设置安全密钥
  • yolo 模型训练
  • 增值税发票复印件可以入账吗与原件一致
  • 管理费用包括哪些部门的工资
  • Editorial Calendar为你的WordPress添加编辑日历 让文章定时发布更简单
  • phpcms教程
  • 新注册的小公司要登记社保吗
  • 滴滴打车的发票是什么样子
  • 土方专用发票
  • 补开上年发票的税务处理要怎么做?
  • 快递公司的收件员好干吗
  • 多计提的增值税怎么冲减
  • 企业账务处理程序的概念
  • 普通发票可以抵扣吗
  • 暂估入库的库存商品转成本吗
  • 发生销售折让的双方应做的会计分录是
  • 差旅费出差补助标准
  • 其他应付款通俗
  • 新增社保需要工资表和记账凭证吗
  • 商会开年会费用怎么入账
  • 服装店的财务会计怎么做
  • 老会计带新手教学真账实操
  • 公司向员工个人借款怎么处理
  • mysql的子查询语句
  • sqlserver分页查询
  • win10系统微软
  • windows使用痕迹在哪里
  • ati2sgag.exe进程安全吗 ati2sgag进程信息查询
  • win7系统安装虚拟机
  • Mac显示桌面快捷键
  • win7连接VPN时提示800错误怎么办 连接VPN时提示错误800解决方法
  • win8.1开机进入桌面
  • a10 config backup for aXAPI
  • cocos2dx 3.0 quick lua transition action
  • 微信小程序模板框架
  • nodejs xhr
  • unity3d需要什么语言
  • jquery移动端ui框架
  • unity 3d完全自学教程
  • jQuery Timelinr实现垂直水平时间轴插件(附源码下载)
  • jquery鼠标点击事件怎么写
  • javascript零基础入门
  • 四川省一般纳税人资格证明
  • 200平交多少契税
  • 北京增值税普通发票图片
  • 税控盘怎么申请领发票
  • 2019年汽车购置税
  • 所得税汇算清缴退税税务局要来查账
  • 服饰类关税
  • 税务筹划怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设