2016-11-24 52 views
0

我有一个类型定义为:如何从返回类型的查询中获取第一个值?

CREATE TYPE typ_1 AS 
    (result integer, 
    pp1 integer, 
    pp2 integer); 

我有一个函数func1返回typ_1

当我这样做:select func1()我得到3个值一列,如:(1,2,3)(1,,)

如何我可以修改查询以获得第一个值吗? 我试过unnest但它不适用于这种类型。

回答

1

如果我没记错纠正你使用()

SELECT (func1()).result, (func1()).pp1, (func1()).pp2 

是。在我的情况下,

CREATE TYPE map.get_near_link AS 
    (link_id integer, 
    distance integer, 
    sentido integer); 


SELECT (map.get_near_link(x, y, azimuth)).link_id 
FROM avl_db.avl_pool 
LIMIT 1 
相关问题