У меня есть таблица с несколькими столбцами, где некоторые из них являются массивами одинаковой длины. Я хотел бы откатить их, чтобы получить результат со значениями из массивов в отдельных строках.
Итак, имея такую таблицу:
Я хотел бы получить:
Вот как это работает для одного из этих столбцов массива:
WITH data AS
(
SELECT 1001 as id, ['a', 'b', 'c'] as array_1, [1, 2, 3] as array_2
UNION ALL
SELECT 1002 as id, ['d', 'e', 'f', 'g'] as array_1, [4, 5, 6, 7] as array_2
UNION ALL
SELECT 1003 as id, ['h', 'i'] as array_1, [8, 9] as array_2
)
SELECT id, a1
FROM data,
UNNEST(array_1) as a1
Есть ли какой-нибудь элегантный способ, как развернуть оба массива одновременно? Я бы хотел не раскручивать каждую колонку отдельно, а затем объединять все вместе.