我有一个像这样的表:
EntityID AttributeID OptionText
5016 20 Paintings
5044 18 Female
5060 48 M
5060 48 F
5060 49 Apple
5060 49 Banana
5060 49 Cat
我想创建一个视图来显示:
5016 20 Paintings
5044 18 Female
5060 48 M,F
5060 49 Apple, Banana, Cat
意味着每个实体的属性值应以逗号分隔显示。
选项的数量可以变化。
任何帮助表示赞赏!
对于每对EntityID, AttributeID
使用 XML 路径技巧生成 CSV
SELECT
M.EntityID, M.AttributeID,
SUBSTRING(CAST(foo.bar AS varchar(8000)), 2, 7999) AS Options
FROM
(
SELECT DISTINCT EntityID, AttributeID
FROM MyTable
) M
CROSS APPLY
(
SELECT
',' + OptionText
FROM
MyTable M2
WHERE
M.EntityID = M2.EntityID AND M.AttributeID= M2.AttributeID
FOR XML PATH ('')
) foo(bar)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)