高分请教PostgreSQL中的集合查询问题
菖蒲老先生 2012-06-06 04:15:24 现有项目需要把oracle转成PostgreSQL,
比如现有table及数据如下:
>>表A
depid userid
d1 1111
d1 2222
d1 3333
d2 4444
d2 5555
d2 6666
在oracle中可以自定义一个数值型table的type,
然后通过cast ( multiset 。。。)的方式得到
类似下面的查询结果。
d1 <Collection> // 这里的Collection点开就是3行1列的table,每行值分别为1111,2222,3333
d2 <Collection> // 这里的Collection点开就是3行1列的table,每行值分别为4444,5555,6666
现在PostgreSQL中好像没有multiset这个函数,请问各位该如何实现等同于oracle相同的效果。
若没有系统自带的函数能够实现,自定义函数实现亦可,只是要求是要用1条sql语句实现。
要实在没有类似oracle中的自定义table的返回形式,返回值变成numeric[]数组也可以。
比如:
d1 {1111,2222,3333}
d2 {4444,5555,6666}
请熟悉PostgreSQL的各位大侠赐教。。。