Quantcast
Channel: XML Path 3 Levels
Viewing all articles
Browse latest Browse all 5

XML Path 3 Levels

$
0
0
create table test(Department varchar(50), Positions varchar(50), Members varchar(50))

insert into test values('Dept_A','Assistant_Manager','Employee_A')
insert into test values('Dept_A','Manager','Employee_B')
insert into test values('Dept_B','Assistant_Manager','Employee_C')
insert into test values('Dept_B','Manager','Employee_D')
insert into test values('Dept_B','Manager','Employee_E')
insert into test values('Dept_C','Manager','Employee_F')
insert into test values('Dept_C','Senior_Manager','Employee_G')
insert into test values('Dept_C','Senior_Manager','Employee_H')
insert into test values('Dept_C','Senior_Manager','Employee_I')

;with cte as(
SELECT
     Department,Positions,
     STUFF(
         (SELECT DISTINCT ',' + Members
          FROM test
          WHERE [Department] = a.[Department] AND Positions = a.Positions
          FOR XML PATH (''))
          , 1, 1, '')  AS Members
FROM test AS a
GROUP BY Department,Positions
)
SELECT Department, 
[Assistant_Manager], [Manager], [Senior_Manager]
FROM
(SELECT Department, Positions,Members
    FROM cte) AS SourceTable
PIVOT
(
Max(Members)
FOR Positions IN ([Assistant_Manager], [Manager], [Senior_Manager])
) AS PivotTable;

Viewing all articles
Browse latest Browse all 5

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>