Я все время пытаюсь разобраться, как переносить свои данные с помощью SQL, но я просто не получаю его. У меня есть таблица данных, которую мне нужно транспонировать столбцы.Нужно транспонировать столбцы через SQL
Моя исходная таблица выглядит следующим образом:
(имена столбцов в верхнем ряду)
Я хочу перенести столбцы, так что мои результаты выглядят следующим образом:
Может кто-нибудь, пожалуйста, помогите мне с правильным кодом для использования, чтобы получить результаты, которые мне нужны? Я не могу просто переносить через Excel, потому что данные динамические.
EDIT: Я попробовал этот код:
SELECT [Gift Level], Goal
FROM
( SELECT * FROM GiftPyramidDollars)
AS Result
Unpivot
(Goal for [Gift Level] in ([< $25,000], [$25,000], [$50,000], [$100,000], [$200,000], [$250,000], [$500,000], [$1,000,000], [$2,500,000], [$5,000,000], [$10,000,000])
)
AS UnPvt
Но это не отдельные результаты в две колонки. Это то, что я получаю:
Gift Level Goal
< $25,000 0.00
$25,000 0.00
$50,000 0.00
$100,000 8000000.00
$200,000 10000000.00
$250,000 6250000.00
$500,000 12500000.00
$1,000,000 30000000.00
$2,500,000 12500000.00
$5,000,000 10000000.00
$10,000,000 10000000.00
< $25,000 58126.67
$25,000 260687.75
$50,000 394300.00
$100,000 352233.61
$200,000 800000.00
$250,000 2110000.00
$500,000 4603423.93
$1,000,000 11500000.00
$2,500,000 0.00
$5,000,000 5000000.00
$10,000,000 0.00
вы хотите UNPIVOT. – mikey
Не могли бы вы уточнить? Сегодня утром я читал о UNPIVOT и пробовал, но не могу понять, что код понял. – Tracey
Я разместил запись в блоге (https://hiflitetm.wordpress.com/2013/11/02/pivot/). В нем есть несколько простых примеров, которые могут соответствовать вашей ситуации. Синтаксис может быть специфическим для Oracle. Обратите внимание, что другие плакаты правильные: вы намерены сделать «univot». – YoYo