Я рекомендую использовать cross apply
:
select t.store, v.metric, v.value
from t cross apply
(values ('size', size),
('sales', sales),
('profit', profit),
. . .
) v(metric, value);
Обратите внимание, что для этого требуется, чтобы столбец value
имел совместимые типы.
Несмотря на то, что вам нужно перечислить все столбцы, выможет генерировать список с помощью запроса или электронной таблицы, упрощая процесс написания запроса.