Przestaw tabelę na wartość, ale zgrupuj dane w jednej linii przez inną?

Mój stół

CREATE TABLE #table
    ([Indicator] int, [Scenario_code] smallint, [period] nvarchar(50), [Value] int, [AREA code] nvarchar(10), [Release_Code] int)
;

INSERT INTO #table
    ([Indicator], [Scenario_code], [period], [Value], [AREA code], [Release_Code])
VALUES
    (2, 7, '2000-06-13', 1000, 'OP014', 17),
    (2, 16, '2000-09-12', 1100, 'OP014', 17),
    (2, 17, '2002-06-22', 1200, 'OP014', 17),
    (3, 7, '2000-01-12', 1300, 'OP014', 17),
    (3, 16, '2000-06-17', 500, 'OP014', 17),
    (3, 17, '2008-05-04', 550, 'OP014', 17),
    (4, 7, '2000-06-12', 600, 'OP014', 17),
    (4, 16, '2000-12-12', 650, 'OP014', 17),
    (4, 17, '2013-06-12', 150, 'OP014', 17)

Chciałbym, aby pola [kropka] i [wartość] były w jakiś sposób obrócone na podstawie pól [wskaźnik] i [kod_ scenariusza]. Istnieją trzy wartości wskaźników (2,3,4) i trzy kody scenariuszy (7,16,17). Chcę pogrupować wiersze według kodu scenario i mieć odpowiednią wartość wskaźnika jako własne pole. Wynik, trzy wiersze, powinien wyglądać następująco.

{[Scernario_code], [Period 2], [Value 2], [Period 3], [Value 3], [Period 4], [Value 4], [Area Code], [Release code]}

7, „2000-06-13”, 1000, „2000-01-12”, 1300, „2000-06-12”, 600, „OP014”, 17

16, „2000-09-12”, 1100, „2000-06-17”, 500, „2000-12-12”, 650, „OP014”, 17

17, „2002-06-22”, 1200, „2008-05-04”, 550, „2013-06-12”, 150, „OP014”, 17

Kolumny okresu i wartości zostały rozłożone na podstawie ich trzech wartości wskaźnika (2,3,4), które są powiązane z jednym [kodem scenariusza]. Udoskonaliłem kolumny z wartością wskaźnika, na którą została włączona. Idealnie będę je aliasować jako coś innego.

Myśli

Jest to oczywiście krzykliwy pivot lub unpivot (lub nawet oba), ale moje podręczniki nie mają czegoś, w czym muszę wziąć pod uwagę dwie kolumny dla elementu rozprzestrzeniającego [kropka] i [wartość]. Potrzebuję danych do obrócenia o wartość wskaźnika, aby były kolumnami, ale zgrupowanymi w tej samej linii co kod scenariusza. Może pomogłaby konkatenacja ...?

Widziałem CROSS APPLY z Pivotem, który wygląda obiecująco, ale nie udało mi się go uruchomić, ponieważ nie do końca rozumiem, jak to jest wykorzystywane. Niedawno zacząłem używać SQL Server 2012.

questionAnswers(2)

yourAnswerToTheQuestion