sqlserver数据库,当有单号有重复时,用逗号来合并

fstao 2024-10-12 17:12:16

比如#t1数据如下:

在#t.code相同时,把payment_date和bankaccount合并,变成如下数据:


 

如何来写这样的SQL语句? 

 

 

 

 

...全文
173 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 版主 10-14
  • 打赏
  • 举报
回复

--测试数据
if not object_id(N'Tempdb..#T') is null
    drop table #T
Go
Create table #T([code] nvarchar(23),[payment_date] Date,[bankaccount] nvarchar(24))
Insert #T
select N'001','2024-8-1',N'广州银行' union all
select N'001','2024-8-1',N'工商银行' union all
select N'001','2024-8-2',N'中国银行' union all
select N'002','2024-8-2',N'工商银行' union all
select N'003','2024-8-3',N'建设银行' union all
select N'003','2024-8-6',N'建设银行'
Go
--测试数据结束
SELECT code,
       STRING_AGG(payment_date, ',') AS payment_date,
       STRING_AGG(bankaccount, ',') AS bankaccount
FROM #T
GROUP BY code;

img

fstao 10-16
  • 举报
回复
@二月十六 ,谢谢

34,696

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧