Postgres SELECT具有多个选择为

Mat*_*att 3 postgresql select postgis

我试图在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

)
Run Code Online (Sandbox Code Playgroud)

错误输出:

 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
Run Code Online (Sandbox Code Playgroud)

谢谢!

bma*_*bma 5

演示一种使用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) );
Run Code Online (Sandbox Code Playgroud)

网址http://www.postgresql.org/docs/current/static/queries-with.html的文档