Ma ismét elökerült ez az érdekes probléma: hogyan használjam a PIVOT operátort anélkül, hogy az értékek összesítve lennének pl. a SUM, AVG függvényekel. Nekem csak az értékek kellenek. A MIN és a MAX függvények ebben az esetben nagyon hasznosak :-)
/*===============================================================================
Date: 2012.01.19
Description: PIVOT "without" aggregate function
SQL Server version: 2005 or newer
Author: Berke János - IamBerke.com
---------------------------------------------------------------------------------
(cc) 2012, IamBerke.com
You may alter this code for your own *non-commercial* purposes.
You may republish altered code as long as you give due credit.
THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
================================================================================*/
USE [tempdb];
GO
CREATE TABLE [PivotTest]
(
[Name] varchar(10),
[Value] varchar(10)
);
GO
INSERT INTO [PivotTest] ([Name], [Value])
SELECT 'A', 'ABC1'
UNION
SELECT 'B', 'ABC2'
UNION
SELECT 'C', 'ABC3'
GO
SELECT
[A] AS [A],
[B] AS [B],
[C] AS [C]
FROM
(
SELECT
[Name],
[Value]
FROM
[PivotTest]) AS P
PIVOT
(
MIN([Value])
FOR [Name] IN ([A], [B], [C])
) AS PVT