Sql 如何将除最后一列之外的所有列的select distinct和最后一列作为逗号分隔的值
我有一张具有以下结构的桌子。它有8列,其中前7列有时包含重复项,最后一列可以有不同的值,但不是唯一的 如何为前7列选择distinct,然后将最后一列显示为逗号分隔的值 最后一列应该如下所示Sql 如何将除最后一列之外的所有列的select distinct和最后一列作为逗号分隔的值,sql,sql-server,coalesce,Sql,Sql Server,Coalesce,我有一张具有以下结构的桌子。它有8列,其中前7列有时包含重复项,最后一列可以有不同的值,但不是唯一的 如何为前7列选择distinct,然后将最后一列显示为逗号分隔的值 最后一列应该如下所示 在子查询中选择不同的7个值,然后执行XML填充以合并这些值 请注意-在此处添加其他字段 范例 Select A.* ,CollectionDate = Stuff((Select Distinct ',' +cast(CollectionDate as varchar(max))
在子查询中选择不同的7个值,然后执行XML填充以合并这些值 请注意-在此处添加其他字段 范例
Select A.*
,CollectionDate = Stuff((Select Distinct ',' +cast(CollectionDate as varchar(max))
From YourTable
Where Quantity=A.Quantity
and Protein =A.Protein
and Carb =A.Carb
-- Add your other fields here
For XML Path ('')),1,1,'')
From (Select Distinct
Quantity
,Protein
,Carb
-- Add your other fields here
From YourTable ) A