对基于数组的列中的每个值多次返回同一行

时间:2014-10-15 06:02:00

标签: sql arrays postgresql

假设我有一个包含数组列的表:

id | subIds
1  | {1,2,3}
2  | {4,5}

我如何返回结果集:

id | subId    
1  | 1
1  | 2
1  | 3
2  | 4
2  | 5

...在不使用函数的单个查询中?

1 个答案:

答案 0 :(得分:4)

通过" 而不使用功能"我认为你的意思是" 没有编写我自己的功能来做"。

unnest()功能可以做你想做的事情

select id, unnest(subids) as subid
from the_table;

虽然未定义元素返回的顺序。