是否需要为SQL Server 2005中的每个值实例创建逗号分隔的列表?
我有一个2列的表,有2个ID,每对都是唯一的。我想找到一种方法为第一列的每个实例创建一个逗号分隔的列表,即:是否需要为SQL Server 2005中的每个值实例创建逗号分隔的列表?,sql,sql-server-2005,Sql,Sql Server 2005,我有一个2列的表,有2个ID,每对都是唯一的。我想找到一种方法为第一列的每个实例创建一个逗号分隔的列表,即: IDcolumn1value1 | IDColumn2value1, IDColumn2Value2, IDColumn2Value3; IDcolumn1value2 | IDcolumn2Value2, IDcolumn2Value4 我可以创建一个游标,并迭代IDcolum1中的每一项,但考虑到有~8k对,这可能不是最有效的 目前我有: DECLARE @listStr VARC
IDcolumn1value1 | IDColumn2value1, IDColumn2Value2, IDColumn2Value3; IDcolumn1value2 | IDcolumn2Value2, IDcolumn2Value4
我可以创建一个游标,并迭代IDcolum1中的每一项,但考虑到有~8k对,这可能不是最有效的
目前我有:
DECLARE @listStr VARCHAR(MAX)
SELECT @listStr = COALESCE(@listStr+',' , '') + Component_Softpaq.SoftpaqNumber
FROM Softpaq_SKU INNER JOIN
ComponentVersion ON Softpaq_SKU.ComponentVersionID = ComponentVersion.ComponentVersionID INNER JOIN
ComponentPass ON ComponentVersion.ComponentVersionID = ComponentPass.ComponentVersionID INNER JOIN
Component_Softpaq ON ComponentPass.ComponentPassID = Component_Softpaq.ComponentPassID
group by Softpaq_SKU.SKUID, Component_Softpaq.SoftpaqNumber
SELECT @listStr
可以使用FOR XML PATH生成不带光标的逗号分隔列表