位置: 编程技术 - 正文

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

  • 每股未分配利润是什么意思
  • 会计做账借贷怎么做
  • 机械租赁小规模企业所得税
  • 固定资产出售账户处理
  • 分类账和明细账平行登记规则
  • 行政事业单位收据样本
  • 被强制执行的款怎么记账
  • 单位员工去外地上班
  • 个人转让认缴出资股权需要交纳印花税吗?
  • 去税务局增加税目需要带什么资料
  • 0申报的清算所得税申报表怎么填
  • 花卉租赁的税率
  • 进项发票已经抵扣怎么做退回处理
  • 建筑业简易征收的适用范围
  • 物业公司一般纳税人怎么抵扣
  • 债券折价摊销属于借款费用吗
  • 简易征收发票认证了之后怎么处理
  • 公益性捐赠的个税
  • 政府发放的稳岗补贴怎么做账
  • 主营业务成本计入成本类账户吗
  • 逆流交易合并报表调整少数损益
  • 用友软件查其他业务收入怎么查
  • 我开了一个物流公司,有人要开发票怎么办
  • 新税法中工资薪金的规定
  • 上月开的发票会计漏做帐,本月应如何补做账?
  • 苹果电脑快速启动键是哪个
  • 包装物损坏无法确认
  • 权益法核算的长期股权投资入账价值
  • 库存股的会计科目
  • 应缴纳消费税会增加吗
  • 更改公司章程发函怎么写
  • thinkphp d
  • 最贵的游戏宣传片
  • php生成压缩包
  • 运输中合理损耗计入存货成本吗
  • 怎样退出快手粉丝团 已解决
  • 增值税已认证抵扣
  • 建筑修缮服务税率
  • 特斯拉 ai day
  • uniapp和mpvue比较
  • java 字节流 字符流
  • php curl_multi_init
  • 跟郑老师学会计建筑业账务处理
  • python中如何读取列表中的指定
  • linux中mongodb启动
  • 纳税人应纳税额怎么算
  • 城镇土地使用税征收标准及计算方法
  • 营改增后还有建筑业发票吗
  • 应交税费月底账务处理
  • 公司借款私人账户
  • 期初固定资产算收入吗
  • 劳保统筹费缴费比例
  • 农业生产成本核算方法
  • 组织机构代码证和统一社会信用代码的关系
  • 税控设备设置在哪儿
  • 费用报销银行转账用途怎么写
  • 如何登记现金日记账视频
  • 医疗机构药库设置标准
  • mysql基本表
  • sql查询一条数据
  • mysql中存储引擎
  • win7旗舰版激活期限已过
  • win8怎么做win7系统
  • 怎么看清水印
  • win7系统怎么隐藏桌面
  • 微软平板
  • shell中创建文件
  • perl localtime函数
  • shell批量处理文件
  • linux pymol
  • Eclipse运行快捷键
  • shell脚本批量添加10个用户
  • 怎么快速启动win10
  • unity3d怎么控制人物移动
  • ShareSdk实现第三方分享功能
  • 广告业发票税率是多少 可以抵扣多少
  • 动车票电子发票如何获取
  • 长沙个体户缴纳个税
  • 经营所得专项扣除养老保险费可以全额扣除吗
  • 江西省国家税务局客运定额发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设