【发布时间】:2016-12-19 19:45:28
【问题描述】:
有一个类型
CREATE TYPE map.get_near_link AS
(link_id integer,
distance integer,
sentido integer,
geom public.geometry(4));
ALTER TYPE map.get_near_link
OWNER TO postgres;
我的表有一个字段near_link,这个工作:
SELECT (near_link).link_id
FROM avl_pool
但如果我想加入我的地图表以获取其他信息,我不能这样做
SELECT (near_link).link_id
FROM avl_pool a
JOIN map m
ON a.near_link.link_id = m.link_id
near_link 出现错误。
错误:缺少表“near_link”SQL 状态的 FROM 子句条目: 42P01 字符:81
与
ON a.(near_link).link_id = v.link_id
^
错误:“(”处或附近的语法错误 SQL 状态:42601 字符:83
有没有办法让这个加入,或者我应该先得到一个子查询来获得link_id,像这样?
WITH getLink as (
SELECT (near_link).link_id, *
from avl_pool a
)
SELECT *
FROM getLink g
JOIN map m
ON g.link_id = m.link_id
【问题讨论】:
标签: sql postgresql join custom-type