当前位置: 首页 > news >正文

sql server 多行数据合并一行显示

在 SQL Server 中,可以使用 STUFF 和 FOR XML PATH 进行多行合并成一行。例如,假设有一个表名为 orders ,其中包含订单号和产品名称:

order_idproduct_name
1Product A
1Product B
2Product C
2Product D

以下查询将在 order_id 列上分组,将产品名称合并成一行:

SELECT order_id, STUFF((SELECT ', ' + product_nameFROM orders o2WHERE o2.order_id = o1.order_idFOR XML PATH('')), 1, 2, '') AS products
FROM orders o1
GROUP BY order_id

结果如下所示:

order_idproducts
1Product A, Product B
2Product C, Product D

在STUFF函数中,第一个参数指定要插入的位置,第二个参数指定要从第一个参数指定的位置开始删除的字符数,第三个参数指定要插入的新值。在此查询中,使用 FOR XML PATH 将每个产品名称转换为逗号分隔的字符串,然后使用 STUFF 将第一个逗号删除并将所有产品名称合并成一个字符串。最后,使用 GROUP BY 在 order_id 列的基础上进行分组。

http://www.lryc.cn/news/231655.html

相关文章:

  • 「我的AIGC咒语库:分享和AI对话交流的秘诀——如何利用Prompt和AI进行高效交流?」
  • 强国有我助力苔花绽放 | 爱心捐赠仪式在西安顺利举办
  • Flink SQL -- CheckPoint
  • Load-balanced-online-OJ-system 负载均衡的OJ系统项目
  • ES6 导入导出
  • 【Liunx】部署Ansible自动化运维工具
  • Python的基础语法
  • Skywalking流程分析_8(拦截器插件的加载)
  • 智能AI系统ChatGPT网站源码+支持OpenAI DALL-E3文生图+支持ai绘画(Midjourney)/支持GPT全模型+国内AI全模型
  • 腾讯云服务器可用区是什么意思?可用区选择方法
  • Jupyter运行显存爆炸,明明上一个单元格已经运行完毕为什么还是会炸?
  • 【ICE】webrtc lite 1:cmake构建
  • 国内最受欢迎电商API接口调用淘宝商品详情API接口数据
  • 第五篇 基于JSP 技术的网上购书系统——主页面和登录页面实现(网上商城、仿淘宝、当当、亚马逊)
  • 【 云原生 | K8S 】kubeadm 部署Kubernetes集群
  • 微信小程序rich-text 文本首行缩进和图片居中和富文本rich-text 解析多个空格不成功 nbsp
  • uniapp 设置重写uni-body-page样式,输入字母转大写,条形码扫描
  • 【uniapp/uview1.x】u-upload 在 v-for 中的使用时, before-upload 如何传参
  • 求组合数(笔记)
  • 《视觉SLAM十四讲》-- 后端 1(下)
  • io+day8
  • 【图像处理:OpenCV-Python基础操作】
  • Java 简单实现一个 TCP 回显服务器
  • 邦芒攻略:新手求职面试需要准备的材料
  • 在docker下安装suiteCRM
  • 【Python大数据笔记_day08_hive查询】
  • 魔众文库系统 v5.6.0 DWG文件格式支持,部分数据封面显示异常,定时调度清理临时文件
  • 2023 PostgreSQL 数据库生态大会:解读拓数派大数据计算系统及其云存储底座
  • Android10 手势导航
  • Pinia 插件 pinia-plugin-persist 添加 persist 属性时报错:没有与此调用匹配的重载