位置: 编程技术 - 正文

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

  • 房地产企业环保税什么时候申报
  • 增值税的视同销售行为有哪些?
  • 物业公司物业费收入会计分录
  • 超市费用能否税前扣减?
  • 员工工资薪金会计如何核算?
  • 公司车买的保险怎么查电子保单
  • 一般纳税人可以转小规模吗
  • 银行有误退款分录怎么写
  • 湖南残保金减免优惠政策2020
  • 从公司账户转给个人账户取出来发给员工做过节费
  • 缴纳税费及工会经费
  • 核定征收小微企业
  • 福建水利建设专业排名
  • 反倾销税由谁缴纳
  • 一般纳税人取得小规模纳税人的专票可以抵扣吗
  • 国税申报数据能修改吗
  • 的税收分类编码
  • 单位杂工费报销计什么科目
  • 在建工程转固定资产后如何计提折旧
  • 研发和技术服务在开票软件中怎么找
  • 公司集体活动的目的与意义
  • 土地平整费计入什么科目
  • 六大会计科目的关系
  • 到期赎回的理财有风险吗
  • 房屋大修理费用指哪些
  • 公司购买购物卡发给职工的账务处理
  • 申请一般纳税人公司流程
  • PHP:Memcached::set()的用法_Memcached类
  • 别再等待别在徘徊是什么歌
  • vue编写网页
  • 多对账工作的主要内容
  • 清晨暴雨的说说
  • PHP:imagepolygon()的用法_GD库图像处理函数
  • 已冲销凭证是否可以作废
  • 设备销售合作协议书范本
  • 工业企业如何纳税
  • 监事和财务负责人可以一个人么
  • js map()
  • uni-app实例教程
  • 结转已销产品计入什么科目
  • windows7/windows10/windows11最强Audacity音频编辑播放器软件,免费下载
  • 织梦艺嫣跳舞
  • 其他综合收益影响所得税费用吗
  • 企业需要准备哪些申报材料?
  • 小规模纳税人企业所得税怎么算
  • 实收资本印花税是一年一交吗
  • 哪些员工出差的多
  • 公司班车费用如何入账
  • 计提应收会计分录
  • 企业接受捐赠如何确认收入
  • 政府会计制度之1613在建工程
  • 供应链公司的骗局招司机是真的吗
  • 做账工资和申报工资不一样有风险吗
  • 减值损失和减值损失区别
  • 购买银行结构性存款安全吗
  • 新公司开户有几种类型
  • 股权变更需要交哪些税
  • 建账的内容一般包括什么
  • mac怎么隐藏桌面文件
  • 系统运行缓慢解决方法
  • mac系统字体大小设置
  • win10触摸模式开启
  • linux充当虚拟内存的是哪个分区
  • linux执行sh文件显示不存在
  • windows10 2021预览版
  • apache80端口被占用的解决方法
  • linux zen3
  • 写个置顶
  • Unity3D游戏开发标准教程
  • java的匿名内部类
  • 置顶txt
  • jquery td
  • javascript怎么编写
  • android从入门到精通
  • python中scipy用法
  • 个人工资扣税标准计算
  • 杭州市税务局总局地址
  • 地税怎么交税
  • 开票软件里的统计怎么弄
  • 云南省昆明市税收优惠政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设