2012-06-29 3 views
4

Я пытаюсь выполнить dblink с помощью функции postgis, но linestring дал мне много проблем.Linestring в dblink postgresql с postgis не работает

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 ....

+0

В вашем коде я вижу две одинарные кавычки после 'geomfromtext', а не двойную кавычку, это опечатка для вырезания и вставки? –

+0

Просьба показать полный, точный текст ошибки - все это, а не только «контекстную» строку. –

ответ

2

После. что Tanzeeb сказал, есть два примера двух одинарных кавычек рядом друг с другом, которые выглядят так, как будто они должны быть двойными кавычками вместо двух одинарных котировок.

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

Прямо перед ЛИНИРОВАНИЕМ и непосредственно перед этим, 2309.

Смежные вопросы