4

postgis 関数を使用して dblink を実行しようとしていますが、ラインストリングが原因で多くの問題が発生しました。

SELECT 
    DV3."XXX",
        s."QQQID",s."X",s."Y",a."PPP"
FROM 
    "QQQ" s INNER JOIN "AAA" a ON a."QQQID" = s."QQQID",
    dblink('dbname=ZZZ',
        'SELECT XXX,the_geom 
        FROM "geometry", "QQQ" s 
        WHERE box2d(geomfromtext(''LINESTRING('|| s."X" ||' '||s."Y" ||','|| s."X" || ' '||s."Y" || ')'',2309))
        && the_geom'
                           ) 
        DV3("XXX" INTEGER,"the_geom"  geometry)


WHERE 
    contains(DV3.the_geom,geomfromtext('POINT('|| s."X" ||' '|| s."Y" ||')',2309))--21
    AND "GGG" IS NOT NULL

エラー

行 9: ... WHERE box2d(geomfromtext(''LINESTRING('|| s."X" + 0....

4

1 に答える 1

2

Tanzeeb の発言に続いて、2 つの単一引用符ではなく二重引用符のように見える 2 つの単一引用符が隣り合っている 2 つのインスタンスがあります。

    'SELECT XXX,the_geom 
    FROM "geometry", "QQQ" s 
    WHERE box2d(geomfromtext(''LINESTRING('|| s."X" ||' '||s."Y" ||','|| s."X" || ' '||s."Y" || ')'',2309))
    && the_geom'

LINESTRING の直前と ,2309 の直前。

于 2012-07-25T06:39:47.760 に答える