On 7 Srpen 2012, 14:22, Stefan Keller wrote: > Your proposal lacks the requirement that it's the same building from > where pharmacies and schools are reachable. > But I think about. I don't know the dataset so I've expected the osm_id to identify the building - then the intersect should work as AND for the conditions. And I see I've forgot to include the 'is building' condition, so it should be like this: SELECT b.osm_id FROM osm_poi AS p, osm_polygon b WHERE p.tags @> hstore('amenity','pharmacy') AND b.tags @> hstore('building','yes') AND ST_DWithin(b.way,p.way,1000) INTERSECT SELECT b.osm_id FROM osm_poi AS p, osm_polygon b WHERE p.tags @> hstore('amenity','school') AND b.tags @> hstore('building','yes') AND ST_DWithin(b.way,p.way,1000) Tomas -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance