我正在尝试在 PostGIS 函数中使用两个 SELECT 语句的输出。
执行此操作的正确语法是什么?我在第二个 SELECT 语句处或附近遇到语法错误。
SELECT ST_Split(tracks, roads)
FROM
(
SELECT * FROM (SELECT ST_Buffer(road_geom,50) FROM table1 WHERE a = '' AND b = '') as roads,
SELECT * FROM (SELECT the_geom FROM table2 WHERE c = '' AND d = '') as tracks
)
错误输出:
ERROR: syntax error at or near "SELECT"
LINE 5: SELECT * FROM (SELECT the_geom FROM table2...
^
********** Error **********
ERROR: syntax error at or near "SELECT"
SQL state: 42601
Character: 178
谢谢!
最佳答案
演示使用 CTE 的一种方法:
WITH roads as (SELECT ST_Buffer(road_geom,50) as road FROM table1 WHERE a = '' AND b = ''),
tracks as (SELECT the_geom as track FROM table2 WHERE c = '' AND d = '')
SELECT ST_Split( (select track from tracks), (select road from roads) );
文档位于 http://www.postgresql.org/docs/current/static/queries-with.html
关于postgresql - 具有多个选择的Postgres SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19595377/