位置: 编程技术 - 正文

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

  • 如何分辨海关完税凭证的真假?
  • 收到税务局税收返还
  • 净营业周期和营业周期
  • 发票印不上字还能用吗?
  • 人力费可以计入劳务费吗
  • 统借统还资金管理办法
  • 公益性捐赠税前扣除资格有效期
  • 票据利息科目怎么设置
  • 原材料加工成品怎么做账
  • 物业企业门禁卡如何记账?
  • 公司往来款现金流量表
  • 证券清算款是什么科目
  • 利息算增值税吗
  • 住宿发票的税率0
  • 银行手续费跨月怎么计算
  • 营改增后如何纳税
  • 关于营改增发票开具的热点问题
  • 企业为员工租房后的事故处理
  • 报销油费属于什么类型
  • 旅游业务增值税税率
  • 运费营改增时间
  • 分期收款确认成功怎么办
  • mac怎么打出@符号
  • 如何把操作系统转移到固态硬盘
  • 销货退回与折让是什么
  • php生成php文件
  • 税点款怎么算
  • 在win10系统中复制的文件不能粘贴怎么办?
  • php imagecopymerge
  • 减免活动怎么做
  • 高新企业技术服务成本核算
  • YII Framework的filter过滤器用法分析
  • 机械干租和湿租的税率
  • thinkphp join
  • php cli 多线程
  • 局部规划算法
  • yolov5官方
  • php实现四种基础方式
  • 遍历队列中所有数据元素
  • 纳税检查调整销售额什么意思
  • 不缴纳增值税
  • 简述跨期摊提账户
  • c语言中使用指针的好处
  • java变量初始化的两种方式
  • vue连接webapi
  • 帝国cms扣除会员怎么办
  • 企业出租的存货包括
  • 增值税专用发票几个点
  • 新成立的公司企业所得税
  • 个人所得税申报截止时间
  • mysql主从配置详解
  • sql条件查询语句怎么写
  • 应收利息和应收股利属于什么科目
  • 合伙企业年底如何做账
  • 材料暂估入库时需要考虑增值税进项税吗
  • 个体户需要给员工买五险一金吗
  • 工程在建期间的招待费计入什么科目
  • 出口样品视同销售如何做会计处理?
  • 普通发票作废的保存几年合理
  • 开票6个点怎么计算
  • 研发费用是管理费用的比例多少不正常
  • linux的命令行指的是什么
  • mac book丢失
  • centos清理缓存
  • win10升级20h
  • 利用图片密码登录微信
  • 笔记本电脑显示英特尔服务未在运行
  • windows向microsoft报告
  • 梦见擦窗户框
  • android应用层是什么
  • python怎么用
  • 全面解析朝鲜战争
  • javascript如何写操作命令
  • 增值税纳税申报表附列资料(一)
  • 临沂市国家税务局人员名单
  • 深圳市保安证办理流程
  • 金三申报系统里面怎么申报社保?
  • 个人所得税工资达到多少才交税
  • 增值税普通发票和电子普通发票的区别
  • 事务所税务变更申请
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设