Учитывая таблицу, определенную как таковую:
CREATE TABLE test_values(name TEXT, values INTEGER[]);
...и следующие значения:
| name | values |
+-------+---------+
| hello | {1,2,3} |
| world | {4,5,6} |
Я пытаюсь найти запрос, который вернет:
| name | value |
+-------+-------+
| hello | 1 |
| hello | 2 |
| hello | 3 |
| world | 4 |
| world | 5 |
| world | 6 |
Я просмотрел документацию по доступу к массивам, и попытался придумать, какое решение использовать unnest()
function выглядела бы так, но оказалась пустой.
Идеальное решение было бы простым в использовании даже в тех случаях, когда имеется значительное количество столбцов, отличных от расширяемого массива, и нет первичного ключа. Обработка случая с более чем одним массивом не важна.
select name, unnest(values) "value" from test_values;
не работает? - person bgoldst   schedule 13.08.2015