在 postgresql 中用作表达式的子查询返回的多行

more than one row returned by a subquery used as an expression in postgresql

我在执行 sql 查询时遇到问题。是"more than one row returned by a subquery used as an expression in postgresql"。我该如何解决?

SELECT ST_AsText( ST_Intersection(
            ST_GeomFromText('LINESTRING(100 100, 200 200, 500 400)'))), 
            (select my_linestrings FROM test1dd))
    );

其中 select my_linestrings FROM test1dd 包括大约 10 行。

我想在 my_linestrings 的所有行和我刚创建的行 (ST_GeomFromText('LINESTRING(100 100, 200 200, 500 400)'))

之间获取交集

select 语句中使用子查询时,它只能 return 一条记录。也许您正在寻找这样的东西:

SELECT ST_AsText( 
          ST_Intersection(
              ST_GeomFromText('LINESTRING(100 100, 200 200, 500 400)'), my_linestrings
          )
       )
FROM test1dd

根据 my_linestrings 的数据类型,您可能还需要在其周围使用 ST_GeomFromText