Jeśli pytasz, jak zaktualizować tabelę na podstawie podzapytania wyszukującego tylko te wielokąty, które mają sąsiada (tzn. dotykają innego wielokąta), poniższe rozwiązanie powinno zadziałać.
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"
Zauważ, że umieściłem AND a."GEM_NR"