位置: 编程技术 - 正文

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

  • 什一税是什么意思?
  • 红字发票申请表盖什么章
  • 增值税发票已抵扣能否认定合同关系
  • 递延收益怎么交企业所得税
  • 增值税专用发票几个点
  • 企业将重组债务转为权益工具
  • 建筑 分包
  • 出售股权账务处理
  • 税控软件维护
  • 未认证的进项税账务处理
  • 个人购买车辆的发票可以贷款吗
  • 上市公司现金分红对股价的影响
  • 销售新的固定资产怎么算
  • 机动车强制保险新政策
  • 企业出售房产的账务处理
  • 轨道交通很高兴 土地税优惠来了
  • 印花税按主营业务成本计算吗
  • 贷款本金余额具体是什么意思
  • 食堂非税收入怎么申报
  • 合作社未按时报税怎么处理?
  • 公司注销后股东承担责任的法律规定
  • 分担总部费用
  • 员工探亲路费报销交个税吗
  • 融资租入固定资产计提折旧吗
  • 公账转公账没有发票
  • 营改增后的增值税税率
  • 苹果输入法快捷键怎么调出来
  • 圣克鲁斯群岛海战百度百科
  • php怎么自学
  • 企业公益性捐赠扣除限额
  • 安代驾给我发短信
  • h5适配iphonex
  • php中array_multisort对多维数组排序的方法
  • 特殊行业需要缴什么税
  • 流动资产占总资产比重多少较为合适
  • 考研408怎么样
  • thinkphp-5.0
  • php常用命令
  • java前后端加密解密请求
  • 递延所得税资产和所得税费用的关系
  • 可解释深度学习:从感受野到深度学习的三大基本任务:图像分类,语义分割,目标检测,让你真正理解深度学习
  • 企业销售固定资产房屋都要交什么税
  • 运输途中发生的费用
  • 公司租车公司
  • 帝国cms如何使用
  • mysql深度解析
  • 债务豁免涉税
  • 设备出租当月要确认收入吗
  • 银行承兑汇票是表内还是表外业务
  • 暂估入库的会计分录怎么写
  • 以前年度损益调整结转到哪里
  • 金税盘分盘可以全额抵扣吗
  • 商品流通企业应交那些税费
  • 货物赔偿款怎么开票
  • 收到伙食费的会计处理
  • 财务费用中的利息费用指什么
  • 其他商业项目
  • win8.1补丁打不上
  • centos搭建svn服务器
  • zhp.exe是什么进程
  • 格式化快速格式化好吗
  • win8怎么切换hdmi
  • 怎么配置命令
  • 屏保 win7
  • linux磁盘空间不足怎么清理
  • win7禁用了管理员,怎么取消呢
  • opengl裁剪平面
  • 怎么检测端口通不通
  • Interlnk、Intersvr、Qbasic命令的使用方法
  • android源码分析实录
  • js实现倒计时60s
  • javascript教程完整版
  • jquery点击按钮修改表格数据
  • 零基础入门安卓逆向
  • 四川省 税务局
  • 增值税申报表如何填报
  • 河南电子税务局官网入口
  • 北京朝阳区地税服务大厅
  • 投资联营的房产税纳税人是谁
  • 企业年金个人缴纳的辞职能拿吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设