Sql 将表行作为XML输出,并使用Groupby另一列
我有下表:Sql 将表行作为XML输出,并使用Groupby另一列,sql,sql-server,xml,Sql,Sql Server,Xml,我有下表: Dept Skills 1 200 1 250 2 150 2 200 2 250 并需要此输出: Dept XMLcolumn 1 <xcol>200></xcol><xcol>250</xcol> 2 <xcol>150></xcol><xcol>200</x
Dept Skills
1 200
1 250
2 150
2 200
2 250
并需要此输出:
Dept XMLcolumn
1 <xcol>200></xcol><xcol>250</xcol>
2 <xcol>150></xcol><xcol>200</xcol><xcol>250</xcol>
非常感谢您的帮助 请尝试:
SELECT Dept,
(SELECT '<xcol>' + CAST(Skills as nvarchar)+ '</xcol>'
FROM tbl a
where a.Dept=b.Dept
FOR XML PATH(''),type).value('.','nvarchar(max)') XMLColumn
FROM tbl b
group by Dept
请尝试:
SELECT Dept,
(SELECT '<xcol>' + CAST(Skills as nvarchar)+ '</xcol>'
FROM tbl a
where a.Dept=b.Dept
FOR XML PATH(''),type).value('.','nvarchar(max)') XMLColumn
FROM tbl b
group by Dept
像这样的怎么样
DECLARE @TABLE TABLE(
Dept INT,
Skills INT
)
INSERT INTO @TABLE VALUES ( 1,200),( 1,250),( 2,150),( 2,200),( 2,250)
SELECT Dept,
(
SELECT Skills xcol
FROM @TABLE
WHERE Dept = t.Dept
FOR XML RAW(''), ELEMENTS
)
FROM @TABLE t
GROUP BY Dept
像这样的怎么样
DECLARE @TABLE TABLE(
Dept INT,
Skills INT
)
INSERT INTO @TABLE VALUES ( 1,200),( 1,250),( 2,150),( 2,200),( 2,250)
SELECT Dept,
(
SELECT Skills xcol
FROM @TABLE
WHERE Dept = t.Dept
FOR XML RAW(''), ELEMENTS
)
FROM @TABLE t
GROUP BY Dept
@阿斯坦德:工作得很有魅力!!非常感谢@阿斯坦德:工作得很有魅力!!谢谢!