[OSM-dev-fr] Question noob postgis

Frédéric Rodrigo fred.rodrigo at gmail.com
Mer 22 Fév 21:24:30 GMT 2012


On 22/02/2012 21:54, yvecai wrote:
> J'ai pris la grande décision de me frotter un peu à postgis, mais j'ai
> un peu de mal en sql, alors c'est l'occasion d'animer un peu cette liste.
>
> Dans une base 'osm2pgsql', je recherche les relations qui partagent un
> bout de chemin avec, disons la relation 1347356.
> Je n'arrive pas à comprendre comment faire fonctionner les fonctions de
> comparaison.
>
>     SELECT a.osm_id, b.osm_id
>     FROM planet_osm_line a, planet_osm_line b
>     WHERE ST_overlaps(a.way,select b.way where osm_id=-1347356);
>
>     ERREUR: erreur de syntaxe sur ou près de « select »
>     LIGNE 3 : WHERE ST_overlaps(a.way,select b.way where osm_id=-1347356);

Ton sql n'est pas bien structuré :

SELECT
	a.osm_id,
	b.osm_id
FROM
	planet_osm_line AS a,
	planet_osm_line AS b
WHERE
	b.osm_id=-1347356 AND
	ST_overlaps(a.way, b.way)
;


Ou en plus jolie :

SELECT
	a.osm_id,
	b.osm_id
FROM
	planet_osm_line AS a
	JOIN planet_osm_line AS b ON
		ST_overlaps(a.way, b.way)
WHERE
	b.osm_id=-1347356
;



Plus d'informations sur la liste de diffusion dev-fr