sql >> Databasteknik >  >> RDS >> PostgreSQL

Hitta närliggande polygoner - postgis-fråga

Om du frågar hur man uppdaterar en tabell baserat på en underfråga som endast hittar de polygoner som har en granne (dvs. de rör vid en annan polygon), bör följande fungera för dig.

Update gemstat_simple5 gem set spread=1, time=2
  FROM (
     SELECT (b."GEM_NR")
       FROM gemstat_simple5 as a,
            gemstat_simple5 as b
       WHERE ST_Touches(a.the_geom, b.the_geom) 
       AND a."GEM_NR" != b."GEM_NR"
       AND a.spread = 1
     ) as subquery
 WHERE gem."GEM_NR" = subquery."GEM_NR"

Observera att jag har satt AND a."GEM_NR"

  1. Multi-cloud-distribution för MySQL-replikering

  2. letar efter en liten variant av GROUP BY

  3. SQL Server välj slumpmässigt (eller första) värde med aggregering

  4. Ska primärnycklar alltid läggas till i en innodb-tabell?