旋转 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
我有以下 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