【问题标题】:more than one row returned by a subquery used as an expression in postgresql在 postgresql 中用作表达式的子查询返回的不止一行
【发布时间】:2015-01-06 18:13:42
【问题描述】:

我遇到了跟​​随 sql 查询的问题。它是“在 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)'))

【问题讨论】:

  • 我想得到 my_linestrings 中的所有行和我刚刚创建的行之间的交集 (ST_GeomFromText('LINESTRING(100 100, 200 200, 500 400)'))

标签: sql postgresql postgis


【解决方案1】:

select 语句中使用子查询时,它必须只返回一条记录。也许您正在寻找类似的东西:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-16
    相关资源
    最近更新 更多