t-sql - T SQL - 多次连接列

标签 t-sql pivot

所以我有下表:

ID |产品图片
300 |/300-01.jpg
300 |/300-02.jpg
301 |/301.jpg
302 |/302.jpg

每个 ID 可以有无限数量的图像。我需要将所有图像引用连接到一列中,但在生成以下输出时遇到问题:

ID |产品图片
300 |/300-01.jpg;/300-02.jpg;
301 |/301.jpg;

最佳答案

-- cte with test data
;with T (ID, Product_Image) as
(
select 300, '/300-01.jpg' union all
select 300, '/300-02.jpg' union all
select 301, '/301.jpg' union all
select 302, '/302.jpg'
)

select
  T.ID,
  (select T2.Product_Image+'; '
   from T as T2 
   where T.ID = T2.ID
   for xml path(''), type).value('.[1]', 'nvarchar(max)') as Product_Images
from T
group by T.ID

结果:

ID   Product_Images
---- -------------------------
300  /300-01.jpg; /300-02.jpg; 
301  /301.jpg; 
302  /302.jpg; 

关于t-sql - T SQL - 多次连接列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5857975/

相关文章:

sql - 内连接转换失败

python - 如何旋转数据框

sql - PostgreSQL - 将多行数据连接到一行

SQL Server - 同一列上的多个 PIVOT

c# - 使用 PetaPoco 创建全文索引

SQL Server 日期转换

sql - 显示一行中的字段

mysql - 将一对多关系视为列标题

sql - 带有 contains 方法的可选搜索参数

SQL SERVER - 获取一行数据