位置: 编程技术 - 正文

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批处理)

  • 税务机关采取哪些行政
  • CIA是指什么会计考试
  • 为职工垫付的水电费应计入
  • 什么公司可以开普票
  • 收到天使投资如何做账
  • 累计净值包含业务收入吗
  • 小微企业亏损还用缴残保金吗
  • 金蝶迷你版会计科目代码格式
  • 农产品收购发票可以跨区域开吗
  • 应解汇款科目
  • 事业单位经营结余贷方转入哪里
  • 税控系统服务
  • 资产折旧纳税
  • 生产成本物料的核算
  • 财产税放在哪个科目
  • 小规模纳税人核定标准
  • 在建工程的工资计入哪里
  • 免税店购物需要满足什么条件
  • 贷款买车的利息是多少3年
  • 白条入账会给什么处分
  • linux多线程运行
  • 财产租赁所得个人所得税怎么申报
  • ipad怎么切换输入法
  • 爱沙尼亚的故事
  • linux如何在终端运行程序
  • 债券利息计算表
  • 阿尔山火山
  • php中各种定义变量的值
  • thinkphp查询版本号
  • ant design pro项目构建纯净版
  • 今日元宵节图片
  • php数组操作函数
  • 销售滞后税务处理
  • CSS: overflow-anchor 固定滚动到底部,随着页面内容增多滚动条自己滚动展示最新的内容
  • 不用财务软件的公司要去吗
  • 安装tensorflow1
  • 小程序制作平台
  • 不跳槽怎么形容
  • 长期待摊费用属于非流动资产吗
  • 固定资产清理的会计科目处理
  • 招待费超出部分的分录
  • 什么是财务报表分析,方法有哪些
  • python np数组
  • sqlserver存储过程声明变量
  • 收到赔偿金怎么写收据?
  • 企业注销其他应收款有数,要交税吗?
  • 个税全员全额扣除怎么算
  • 所得税多交退回分录
  • 0税率可以抵扣进项税吗
  • 劳务报酬包括哪些
  • sql 自定义字段
  • 减值准备需要确认递延所得税资产吗
  • 企业净利润流量怎么算
  • 营改增后个人所得税计税依据实例
  • 白条可以入账吗?
  • 支付广告费属于进项还是销项
  • 小规模附加税优惠政策最新2023
  • 加班就餐费如何入账
  • 进项税和销项税抵扣的会计分录
  • 记账联是哪一联
  • 递延所得税资产账务处理
  • 营改增后被挂靠的企业如何做账?
  • debian 安装
  • linux系统关闭ftp服务
  • linux系统中文件权限分为哪三种
  • win8.1玩英雄联盟
  • mac os常用快捷键
  • win7双硬盘双系统
  • win8系统崩溃无法开机
  • centos为什么没有桌面
  • win10 运行
  • 延长药品使用时间的方法
  • 飞车超人助手官网
  • div 绝对位置
  • javascript对象的属性和方法
  • 下列关于eval()函数的说法正确的是
  • jQuery获取checkbox选中的值
  • node实现文件上传
  • android简单app实例
  • 北京市注册税务师
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设