位置: 编程技术 - 正文

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

  • 私人大额转账要到柜台办理吗
  • 使用增值税发票的条件
  • 利息收入纳税义务时点
  • 进项票和销项票是什么意思
  • 计提代扣个人工会经费怎么做账
  • 保安服务业务
  • 汇算清缴a107020表
  • 一般纳税人什么时候用简易计税
  • 个人合伙清算如何起诉
  • 动漫产业增值税优惠政策
  • 收到存款利息属于现金流量表
  • 车辆保险赔款怎么入账
  • 委托代销收取手续费账务处理
  • 企业实际发生的与取得收入有关的、合理的支出,包括
  • 简易征收税率都包括什么
  • 印刷制作费税收编码是啥
  • 半成品牛排有营养吗
  • 银行卡刷卡消费限额
  • 公司的汽车购置税怎么交
  • 购入商品入库时发现实收物多余应收数计入什么科目
  • 赠送客户产品账务处理
  • 用友t8怎么删除凭证
  • 增值税的特殊销售方式有哪些?税务处理时怎样的?
  • 物流公司油卡怎么抵税的
  • 应交所得税的计算公式excel
  • 主营业务成本净额计算公式
  • 买一个金蝶软件年费多少
  • mac老款设备怎样升级os14
  • 宏病毒感染的文件类型是什么
  • php快速查找
  • 最小的摄像头是多大
  • 拔罐的好处和坏处除湿
  • 营业费用这个科目还在用吗
  • 事业单位自营
  • elementui rule
  • 税控盘的发票怎么做账
  • chat功能
  • 大数据分析案例结论
  • ubuntu系统删除
  • mysql封装函数
  • 律师费怎么要回来
  • 国际货运代理公司有哪些?
  • 小规模纳税人出租不动产税率是5%还是3%
  • 开票系统在哪
  • 邮电局上级部门
  • mysqldump导入数据库
  • 费用票有什么用处
  • 利润分配的5个基本原则
  • 增值税专用发票是干什么用的
  • 公司向股东借的钱怎么还
  • 数据库系统中,用户通过什么访问数据
  • 如何分析成本费用高
  • 中标服务费需要签合同吗
  • 运费与快递费的区别在哪
  • 固定资产清理时增值税怎么处理
  • 金蝶软件中怎么让以前年度损益调整在利润表中取不到数
  • 员工退回备用金怎么写收据
  • 增值税发票打印机怎么调整打印位置
  • 出口退税对应的进项不能抵扣对吗
  • 加油站汽油损耗分析
  • 支出未取得发票
  • 小规模纳税人建筑服务预缴增值税
  • 一个真正的企业应该具备哪些特征
  • 非营利医疗机构是什么单位
  • mysql分区语句
  • mysql文件存储路径设置
  • 三星笔记是干什么用的
  • backupnotify.exe是什么文件的进程 backupnotify进程安全吗
  • win7怎么进行系统还原
  • 为什么win8系统的键盘输入不了字
  • 图像unit8
  • node.js和go
  • css网页布局方式
  • javascript基础
  • 使用nodejs连接openai超时
  • unity多人游戏
  • jQuery实现HTML表格单元格的合并功能
  • 差额征收怎么填报表
  • 扬州 税务
  • 中山火炬开发区建设发展有限公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设