可以将SELECT ST_GeomFromText(与其他SELECT一起使用吗?

时间:2019-02-07 18:18:07

标签: sql postgresql postgis geojson

我正在尝试将SELECT ST_GeomFromText()与另一个查询中捕获的值一起使用:

SELECT ST_GeomFromText(
  ST_AsText(
    ST_GeomFromGeoJSON(
  SELECT 
    column-name
  FROM table-name
  ORDER BY id DESC
  LIMIT 1)
  ), 
4326);

我要使用的值与SELECT ST_GeomFromText()兼容,并且我正在使用postgres。

其他有用的解决方案是将INSERT INTO作为值的SELECT ST_GeomFromText()

1 个答案:

答案 0 :(得分:1)

是的,但是这里不需要。

查询应为:

SELECT ST_SETSRID(
    ST_GeomFromGeoJSON(column-name), 
    4326)
FROM table-name
ORDER BY id DESC
LIMIT 1;

如果出于其他原因仍要使用子查询,则可以将其包装在括号中:

SELECT ST_GeomFromText(
  ST_AsText(
    ST_GeomFromGeoJSON(
     (
       SELECT 
         column-name
       FROM table-name
       ORDER BY id DESC
       LIMIT 1)
     )
  ), 
4326);