位置: 编程技术 - 正文

SQL 合并多行记录的方法总汇(sql合并多条记录某一个字段)

编辑:rootadmin
--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多行合并成一行 oracle,sql多行合并成一行 逗号连接,SQL 合并多行记录的相同字段值,sql语句多行合并成一行,sql多行合并成一行多列,SQL 合并多行记录的相同字段值,sql合并多行数据,内容如对您有帮助,希望把文章链接给更多的朋友!

批处理 动态sql 1.DECLARETYPEref_cursor_typeISrefCURSOR;v_mycursorref_cursor_type;TYPEid_listISTABLEOFinteger;TYPEname_listISTABLEOFvarchar2();v_tabidid_list:=id_list();v_tabnamename_list:=name_list();sql_strvarc

SQL Server 的逻辑查询处理步骤 最近我则刚刚收到了微软最有价值专家项目组寄来的该书的SQLServer英文版本-《InsideMicrosoftSQLServer:T-SQLQuerying》(

在sp_executesql中使用like字句的方法 declare@LikeSqlnvarchar();--定义一个like变量,如果是存储过程,此处可以存储过程的参数set@LikeSql=‘someword%';--把LikeSql变量赋值,可以赋值成'%xxxxxxxxxxxx%'decl

标签: sql合并多条记录某一个字段

本文链接地址:https://www.jiuchutong.com/biancheng/349098.html 转载请保留说明!

上一篇:sqlserver 2000 远程连接 服务器的解决方案(sqlserver远程连接设置)

下一篇:批处理 动态sql(sqlserver批处理)

  • 增值税专票开错了可以作废吗
  • 金税盘技术维护费
  • 什么负债计税基础为零
  • 税收分类编码怎么导出来
  • 开发票需要填银行吗
  • 增值税发票认证平台
  • 应交税费进项税额属于什么科目借贷方向
  • 金税盘服务费能抵税吗
  • 计税金额是含税还是不含税
  • 合作建房如何纳税
  • 租赁公司扣押金
  • 租赁房租备案要多久
  • 市政配套费交给哪个部门
  • 临时工工资作为人员成本如何做账
  • 购进增值税专用发票怎么填开
  • 闲置资金的利息收益要冲减财务费用
  • 小规模纳税人含500万吗
  • 固定资产平均年限法公式
  • 小额纳税人增值税专用发票税率1%
  • iphone6按键功能介绍
  • 新版edge浏览器设置背景图片
  • 预收款项的减少
  • 光纤测速网速测试
  • 购买一台电脑会计分录
  • 怎样判断事情
  • 王者荣耀中雅典娜的战争女神多少钱
  • PHP:mb_strtoupper()的用法_mbstring函数
  • php验证码代码怎么写
  • win10任务栏变成黑色
  • 加班费如何做账
  • php判断查询是否有结果
  • 固定资产后续支出一律计入固定资产成本
  • php变量函数
  • PHP:imagecolorsforindex()的用法_GD库图像处理函数
  • 跨地区经营增值税预缴
  • css选择器 菜鸟教程
  • 支票的提示付款期限为自出票日期
  • 前端笔记软件
  • 微信小程序获取地理位置
  • JavaScript ,18种常用数组方法,快来看看你会吗?
  • yum命令详解
  • 法人借钱给公司,公司可以直接转给法人吗
  • 机动车发票冲红太多会怎么样
  • css中权重值是什么意思
  • 累计折旧累计摊销属于现金流吗
  • 工业企业总产值怎么算
  • 哪些人不要申报个税
  • 调整多计提的工资
  • 小规模季度开票不超过多少
  • 其他应收款审计说明怎么写
  • 商业承兑汇票风险高吗
  • 购买的税控盘可以全额抵扣,怎么报
  • 房地产企业简易计税和一般计税的区别
  • 工程项目采购
  • 预付款已经开了发票未到货要怎么做账
  • 单位之间借款还款怎么写
  • 企业进出口总额
  • 税务报表工会经费是按什么交了
  • 农行公户怎么给公户转账
  • 会计做内账的技巧与方法
  • 记账凭证的审核与编制可以是一个人吗
  • win8系统中断怎么解决
  • 双启动子存在的意义
  • mac 电脑出现问题而重新启动
  • Win8.1 64位系统安装Office365出现30125-1011错误提示的故障原因及解决方法
  • 电脑被攻击了怎么修复
  • windows xp无法更改密码
  • ubuntu安装httpd
  • win10应用默认
  • centos7.2安装
  • windows10 2021预览版
  • 车钥匙失灵了10秒教你快速解决
  • linux自动重启程序脚本
  • python中中文字符
  • jQuery.ajax 跨域请求webapi设置headers的解决方案
  • 青岛税务局网上办税厅app
  • 关于涉访涉诉终结的规定
  • 个人以土地投资入股都需缴纳哪些税
  • 车辆购置税完税证明有用吗
  • 地税局工作人员工资标准多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设