Singlepart zu Multipart

Hallo ich habe eine Tabelle wie folgt (the_geom hat datentyp geometry, singlepolygon und ist hier als wkt dargestellt)

id | the_geom
—±-----------
1 | POLYGON(1,1 2,2 3,3)
2 | POLYGON(4,4 5,5 6,6)
1 | POLYGON(8,8 7,7 10,10)
1 | POLYGON(34,34 35,35 36,36)
2 | POLYGON(78,78 79,79 80,80)
3 | POLYGON(100,100 101,101 102,102)

die single polygone sollen entsprechend der gleichen id zumultipolygonen zusammengefügt werden:

gewünschtes Ergebnis:

id | the_geom
—±-----------
1 | MULTIPOLYGON((1,1 2,2 3,3),(8,8 7,7 10,10), (34,34 35,35 36,36))
2 | MULTIPOLYGON((4,4 5,5 6,6),(78,78 79,79 80,80))
3 | POLYGON(100,100 101,101 102,102)

Habe das mit st_multi(st_collect(a.the_geom,b.the_geom)) sowie st_multi(st_union(a.the_geom,b.the_geom)) probiert, ohne erfolg, es wurden immer einzelne Zeilen für jedes singelpolygon ausgegeben.

ich weiss echt nicht wos hängt, vielen Dank im Voraus!

Kannst du das komplette sql posten? Ich kann das so nicht wirklich nachstellen.

Gruß Uwe

Edit: Oder suchst du das:

select a.id, st_astext(st_multi(st_collect(a.the_geom)))
 from test_multi a
 group by a.id
 order by id

1;“MULTIPOLYGON(((1 1,2 2,3 3,1 1)),((8 8,7 7,10 10,8 8)),((34 34,35 35,36 36,34 34)))”
2;“MULTIPOLYGON(((4 4,5 5,6 6,4 4)),((78 78,79 79,80 80,78 78)))”
3;“MULTIPOLYGON(((100 100,101 101,102 102,100 100)))”

ok ich habs rausgefunden und poste mal hier für die nachwelt…

SELECT id, (st_Multi(st_union(the_geom)))
, COUNT(id) AS NumOccurrences
FROM “tabelle”
GROUP BY id