У меня есть таблица данных, с которой я пытаюсь транспонировать / сводить строки в столбцы.
Я на самом деле с PIVOT / UNPIVOT, и я пытался сделать это, однако из-за агрегации, используемой с PIVOT, я возвращал только 1 результат, который был первым индоссаментом "M06", а не 2 другими индоссаментами длячто PolRef@
.
Вот мой пример данных:
CREATE TABLE #temptable (
[B@] int,
[key@] varchar(24),
[Ref@] varchar(6),
[PolRef@] varchar(10),
[Sequence@] int,
[Date] datetime,
[Endnumber] varchar(4),
[Desc] varchar(76),
[Value] int,
[Specdrivers] varchar(76),
[Reg] varchar(76)
)
INSERT INTO #temptable VALUES
( 6, '484F445830314D4330310132', 'HODX01', 'HODX01MC01', 1050, N'2019-09-20T00:00:00', 'M06', 'Garaging/storage', 0, NULL, 'All' ),
( 6, '484F445830314D433031013C', 'HODX01', 'HODX01MC01', 1060, N'2019-09-20T00:00:00', '046', 'NCB deleted', 0, NULL, 'All' ),
( 6, '484F445830314D4330310146', 'HODX01', 'HODX01MC01', 1070, N'2019-09-20T00:00:00', '099', 'Limited mileage', 1500, NULL, 'All' )
DROP TABLE #temptable
По существу мне нужен столбец для каждой строки, который говорит "Применимое одобрение" только для значения Endnumber
.
Вывод будет выглядеть следующим образом:
| B@ | PolRef@ | Applicable Endorsement | Applicable Endorsement | Applicable Endorsement |
| 6 | HODX01MC01 | M06 | 046 | 099 |
Любые мысли о том, как я могу это сделать, обратите внимание, что может быть любое количество одобрений, это не фиксированная сумма.