我如何转换
Id Name TypeCode UseType OptionsText
1 A AA 1 Test1
2 B AB 2 Test2
3 B AB 2 Test3
到此
Id Name TypeCode UseType OptionsText
1 A AA 1 Test1
2 B AB 2 Test2;;Test3
我正在尝试使用 coallace
,但无法使其正常工作。
答案 0 :(得分:2)
您可以使用FOR XML
执行此操作:
SELECT
t1.Name,
t1.TypeCode,
t1.UseType ,
STUFF((
SELECT ';; ' + t2.OptionsText
FROM Tablename t2
WHERE t2.Name = t1.Name
AND t1.TypeCode = t2.TypeCode
FOR XML PATH (''))
,1,2,'') AS OptionsText
FROM Tablename t1
GROUP BY t1.Name,
t1.TypeCode,
t1.UseType;
这会给你:
| NAME | TYPECODE | USETYPE | OPTIONSTEXT |
|------|----------|---------|----------------|
| A | AA | 1 | Test1 |
| B | AB | 2 | Test2;; Test3 |