sql >> Databáze >  >> RDS >> Sqlserver

Jak zkombinovat více řádků LineString do jedné kolekce řádků

Stačí použít .STUnion

BEGIN
-- create a test table
DECLARE @test TABLE(seg GEOMETRY);
INSERT INTO @test VALUES(geometry::STGeomFromText('LINESTRING (0 0, 50 100)', 0))
INSERT INTO @test VALUES(geometry::STGeomFromText('LINESTRING (50 100, 100 200)', 0))
INSERT INTO @test VALUES(geometry::STGeomFromText('LINESTRING (100 200, 150 300)', 0))
--SELECT seg.STAsText() FROM @test
DECLARE @geom GEOMETRY
SELECT @geom = (SELECT TOP 1 seg FROM @test)
-- union all the linestring points
SELECT @geom = @geom.STUnion([seg]) FROM @test
-- do what you want with the results
SELECT @geom
print(@geom.STAsText())
END


  1. Vnitřní spojení versus provedení klauzule where in

  2. Jak vytvořit tabulku se dvěma nebo více cizími klíči pomocí místnosti Android?

  3. Nelze se vzdáleně připojit k PostgreSQL na instanci Amazon EC2 pomocí PgAdmin

  4. Postgres Žádné oprávnění k vytvoření uživatele