位置: 编程技术 - 正文

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

  • 个人所得税申报退税多久到账
  • 补缴去年的附加税
  • 其他应付款转实收资本有风险吗
  • 怎么在网站上打印
  • 劳务公司差额计税收到的代发工资怎么开票
  • 企业除了增值税还有什么税
  • 审核通过的红字发票信息表可以撤销吗
  • 商业汇票贴现金额的计算
  • 贷款损失准备金怎么计算
  • 办公室零食采购台账
  • 给评委发酬劳怎么扣税?
  • 企业购买小轿车进项税额可以抵扣吗
  • 小规模纳税人月销售额不超过10万免征
  • 地方水利建设基金的会计分录
  • 6种个人所得税违规手段,财务人再小心别跳坑!
  • 企业会计准则应用案例
  • 行政费用包括哪些企业行政后勤管理费用
  • 一般纳税人销售自己使用过的物品
  • 银行要求的补偿性余额所占比例为20%
  • 无需支付的款项需要缴税吗
  • 公司加农户经营模式
  • 物物交换增值税处理
  • 已经认证抵扣的发票会计分录
  • 会计科目未付利润属于哪个科目
  • 如何安装react
  • 集团公司股份
  • vscode国内镜像
  • bios报警声是怎样的
  • linux增加inode
  • 保险委托支付
  • 长期借款的
  • 各种汇票
  • 企业研发费用加计扣除是什么意思
  • phpseclib
  • 博客管理系统开题报告
  • java web中的转发和重定向
  • css如何应用
  • php远程访问
  • 财政拨款结转的二级科目有哪些
  • 房屋维修费属于什么税收分类编码
  • 对象是类的实例,一个对象必须属于一个已知的类
  • 旅游费怎么记账
  • 企业的净利润率
  • 租赁合同印花税税率2023
  • 企业回购本公司股票会导致所有者权益增加
  • access参数查询怎么弄
  • ibm db2认证
  • mysql跨库join
  • 记账凭证粘贴顺序银行回单
  • 计提折旧会计分录怎么做
  • 企业所得税征税范围是
  • 进口货物如何入账
  • 应交税费会计核算
  • 财务费用贷方余额怎么结转本年利润
  • 收到费用报销单怎么做记账凭证
  • 赔偿给别人的钱还能要回来吗
  • 总公司与分公司的关系
  • 报销程序是什么
  • mysql的操作
  • mysql 复制表结构并把满足条件的数据添加到新表
  • win8激活点不进去
  • 苹果电脑如何提高网速
  • 最新版win10版本号
  • android:ViewPager与FragmentPagerAdapter
  • opengl cullface
  • 微信小程序列表显示
  • yarn和npm一起使用冲突
  • 怎么把perl删除干净
  • jquery写网页
  • node .js
  • Unity3D游戏开发(第2版)
  • js作用域和作用域链的理解阮一峰
  • ListView.setOnItemClickListener不起作用的原因
  • python中迭代例子
  • 浅谈插入排序算法在Python程序中的实现及简单改进
  • Android Path和PathMeasure类的使用之获取圆弧上的坐标值
  • 如何查询纳税信用等级证明
  • 税务网络安全制度
  • 如何证明发货前货物完好
  • 安徽马鞍山税务局体检名单
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设