旋转 SQL 服务器 table 并同时合并两列

Pivot the SQL Server table and also merge two columns simultaneously

我有以下 table 名为 'TABLE'。

我想要的输出应该如下所示。

以下查询将 return 您的预期结果:

SELECT  Model, 
        MAX(CASE WHEN Number = 1 THEN Series + '-' + Code ELSE '' END) AS SeriesCode1,
        MAX(CASE WHEN Number = 2 THEN Series + '-' + Code ELSE '' END) AS SeriesCode2
FROM TestTable
GROUP BY Model

示例数据演示:

DECLARE @TestTable TABLE (Model VARCHAR (10), Series VARCHAR (10), Code VARCHAR (10), Number INT);

INSERT INTO @TestTable (Model, Series, Code, Number) VALUES 
('AB708', 'D07', '2015-01', 1),
('AB708', 'D07', '2014-11', 2),
('CB708', 'ED07', '2011-08', 1),
('CB708', 'ED07', '2012-10', 2);

SELECT  Model, 
        MAX(CASE WHEN Number = 1 THEN Series + '-' + Code ELSE '' END) AS SeriesCode1,
        MAX(CASE WHEN Number = 2 THEN Series + '-' + Code ELSE '' END) AS SeriesCode2
FROM @TestTable
GROUP BY Model

输出:

Model   SeriesCode1     SeriesCode2
--------------------------------------
AB708   D07-2015-01     D07-2014-11
CB708   ED07-2011-08    ED07-2012-10