将重复值列为 SQL / Pivot Table 中的列

list duplicate values as column in SQL / Pivot Table

我想将重复值列为 SQL 或 Pivot Table 中的列,是否可行?

输出:

    1   2   3
A   A1  A2  A3
B   B1  B2  
C   C1  C2  

原始数据:

A   A1  1
A   A2  2
A   A3  3
B   B1  1
B   B2  2
C   C1  1
C   C2  2

使用 PIVOT:

CREATE TABLE #tab(col1 VARCHAR(10), col2 VARCHAR(10), col3 INT);

INSERT INTO #tab(col1, col2, col3) VALUES
 ('A',   'A1',  1),('A',   'A2',  2),('A',   'A3',  3),('B',   'B1',  1)
,('B',   'B2',  2),('C',   'C1',  1),('C',   'C2',  2);

SELECT col1,[1],[2], [3]
FROM #tab
PIVOT (
  MAX(col2)
  FOR col3 IN ([1],[2], [3])
) AS p

LiveDemo