У меня есть набор данных, который выглядит так:
До
FirstName LastName Field1 Field2 Field3 ... Field27
--------- -------- ------ ------ ------ -------
Mark Smith A B C D
John Baptist X T Y G
Tom Dumm R B B U
Однако я бы хотел, чтобы данные выглядели так:
После
FirstName LastName Field Value
--------- -------- ----- -----
Mark Smith 1 A
Mark Smith 2 B
Mark Smith 3 C
Mark Smith 4 D
John Baptist 1 X
John Baptist 2 T
John Baptist 3 Y
John Baptist 4 G
Tom Dumm 1 R
Tom Dumm 2 B
Tom Dumm 3 B
Tom Dumm 4 U
Я посмотрел на функцию PIVOT. Это может сработать. Я не слишком уверен. Я не мог понять, как его использовать. Но я не уверен, что сводка может поставить «4» в столбце «Поле». Насколько я понимаю, функция PIVOT просто перенесет значения Field1...Field27 в столбец «Значение».
Я также рассмотрел итерацию по таблице с помощью курсора, а затем цикл по столбцам полей, а затем ВСТАВКУ в другую таблицу «Поля» и «Значение». Однако я знаю, что это повлияет на производительность, поскольку это последовательная операция.
Любая помощь будет принята с благодарностью! Как вы понимаете, я новичок в T-SQL (или SQL в целом) и SQL Server.