[postgis-users] update an st_intersects

Suhr, Ralf Ralf.Suhr at itc-halle.de
Tue Jan 26 06:29:58 PST 2010


 

UPDATE poi set province_id = sub.id

FROM

(

SELECT DISTINCT province.ogc_fid AS id

FROM province

WHERE ST_Intersects(poi.the_geom, province.the_geom)

) AS sub

WHERE province_id = sub.id

 

 

Gr 

Ralf

 

Von: postgis-users-bounces at postgis.refractions.net
[mailto:postgis-users-bounces at postgis.refractions.net] Im Auftrag von
ibrahim saricicek
Gesendet: Dienstag, 26. Januar 2010 15:11
An: PostGIS Users Discussion
Betreff: Re: [postgis-users] update an st_intersects

 

Hi all,

The same error

ERROR: more than one row returned by a subquery used as an expression

any comments?

On Tue, Jan 26, 2010 at 2:30 PM, Rafael Soto <rafael.soto at gmail.com>
wrote:

Try it



update poi set province_id=(

select province.ogc_fid from province where intersects(poi.the_geom,
province.the_geom)=True group by province.ogc_fid
)

 

On Tue, Jan 26, 2010 at 10:26 AM, ibrahim saricicek
<ibrahimsaricicek at gmail.com> wrote:

Hi all,

Thanks, understand.

Ok, is there another way to update poi's province.ogc_fid with the
bounding province's ogc_fid ???
Namely i want to learn the province of POI's...

Regards..





On Tue, Jan 26, 2010 at 2:20 PM, Rafael Soto <rafael.soto at gmail.com>
wrote:

Hello my friend..

Your query is not wrong but your record true..

When you call a subselect to complete your UPDATE operation, this
subselect can be only one row in result return.
To correct this, you must be define one filter to decide what the result
you want to UPDATE.
To see the mistake, execute a subselect {{{ select  province.ogc_fid
from province,poi where intersects(poi.the_geom, province.the_geom)=True
group by province.ogc_fid }} and check the number of rows in the
resultset.





On Tue, Jan 26, 2010 at 9:57 AM, ibrahim saricicek
<ibrahimsaricicek at gmail.com> wrote:

	 

	Hi all,
	
	I have two tables; provinces an points of interests. I wanna
update province_id column with st_intersects function..

	
	
	My sql;
	
	update poi set province_id=(

	select province.ogc_fid from province,poi where
intersects(poi.the_geom, province.the_geom)=True group by
province.ogc_fid
	)

	The message is 
	
	ERROR: more than one row returned by a subquery used as an
expression
	
	What should I change? 

	_______________________________________________
	postgis-users mailing list
	postgis-users at postgis.refractions.net
	http://postgis.refractions.net/mailman/listinfo/postgis-users




-- 
Rafael Soto


_______________________________________________
postgis-users mailing list
postgis-users at postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users

 


_______________________________________________
postgis-users mailing list
postgis-users at postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users




-- 
Rafael Soto

Sent from Brasilia, DF, Brazil

_______________________________________________
postgis-users mailing list
postgis-users at postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20100126/3d7a73a9/attachment.html>


More information about the postgis-users mailing list