位置: 编程技术 - 正文

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

  • 加工企业税收优惠政策
  • 进项税额转出就是要多交税吗
  • 幼儿园会计需要做什么工作
  • 税务登记证号是纳税人识别号吗?
  • 消费税组成计税价格怎么理解
  • 小规模纳税人收入是含税还是不含税
  • 融资租赁担保余值
  • 收付转记账凭证图片
  • 报销必须是公司吗
  • 预付账款有二级科目嘛
  • 电商刷单返现如何做账务处理合适?
  • 应付职工薪酬账务处理例题
  • 购买车间用的材料怎么做分录
  • 企业年金税前扣除标准表
  • 异地承包工程预缴什么税?
  • 白酒出口税收
  • 服务业的营业成本怎么算
  • 合并报表中营业利润不等于
  • windows11怎么添加桌面图标
  • 销售净利率的计算公式有哪些
  • 珠宝加工税率是多少
  • 期末留抵税额的减值
  • php日期时间运算汇总
  • php初始化会话
  • win10任务栏变成黑色
  • deepin缩放
  • win10右键个性化显示该文件
  • php初学者用什么软件
  • 悬崖雕塑
  • 卢塞恩小镇瑞士
  • 享受所得税优惠情况说明
  • 资产减值损失属于损益类的收入还是费用
  • 客户要回扣
  • 餐费计入什么费用
  • 部门差旅费预算表
  • 结构重参数化2d pose
  • 施工企业的人工费占比
  • 税盘显示已反写
  • 其他应收款怎么核对
  • 车间领用五金配件入什么科目
  • 银行转账付款会计分录
  • 现金流量表年报本期金额和上期金额
  • 资本公积可以转增资本因此称之为准资本
  • 理财产品怎么收费
  • 国债利息收入计入什么会计科目
  • 弃置费用怎么处理
  • 什么情况下增值税计入成本
  • 销售净收入是怎么算
  • 车保险返点如何计算
  • 代收运输费的会计分录
  • 哪些凭证是有效凭证
  • 银行承兑汇票向银行申请贴现会计分录
  • 个人出租租房收什么税
  • 出售固定资产清理的账务处理
  • 商业企业购入商品
  • centos7.0镜像下载
  • centos7搭建nfs详细步骤
  • xp怎么关闭自启动
  • 卸载软件后整个盘都清空了
  • conf文件用什么软件打开
  • win8如何打开设置
  • linux远程操作常用命令
  • linux的命令行指的是什么
  • jquery跳出循环
  • unity3D游戏开发
  • jquery常见的选择器
  • jquery的选择器有哪些举例说明
  • es5 教程
  • vim fold
  • unity后期
  • jquery的实现原理
  • javascript下拉列表怎么做
  • JQuery之proxy实现绑定代理方法
  • python如何入门
  • 2021一带一路会议时间?
  • 办完营业执照多久可以开抖音小店
  • 山西电子税务局官网app
  • 纽约消费税多少
  • 金米财税不退款怎么办
  • 货物无偿赠予政府怎么写
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设