Вы можете использовать UNPIVOT для создания нужного набора данных.Допустим, ваши таблицы выглядят так:
create table table1 (
kode int,
[101] int,
[102] int,
[103] int,
[104] int
);
insert into table1 values
(1234 , 100 , 200 , 300 , 400),
(4555 , 1200 , 130 , 14500 , 1550),
(5012 , 100 , 150 , 350 , 440);
Ваш запрос будет выглядеть следующим образом
SELECT kode, field1, field2
FROM table1
UNPIVOT
(
field2 FOR field1 IN ([101], [102], [103], [104])
) AS up;
Это даст вам желаемый результат.
Давайте создадим новую таблицу, подобную этой
create table table2 (
kode int,
field1 int,
field2 int
);
Заполните UNPIVOT-данные в таблицу2
insert into table2
SELECT kode, field1, field2
FROM table1
UNPIVOT
(
field2 FOR field1 IN ([101], [102], [103], [104])
) AS up;
select * from table2;
Пример:https://rextester.com/YPWG93602