Jag tror inte att du kan göra detta i en vy men du kan skapa en tabellvärderad användardefinierad funktion (en funktion som returnerar en tabell) för att få det du vill ha.
Det här exemplet använder en tabell definierad som
CREATE TABLE GeoTable (GeomKey int, vector GEOMETRY)
som lagrar olika geometrityper (i exemplet jag länkade nedan använde jag POINT, MULTIPOINT, LINESTRING och POLYGON).
CREATE FUNCTION dbo.GetVertices()
RETURNS @ret TABLE (GeomKey INT, X INT, Y INT, PointNo INT)
AS
BEGIN
DECLARE @max INT
SET @max = (SELECT MAX(vector.STNumPoints()) FROM GeoTable)
;WITH Sequence(Number) AS
(
SELECT 1 AS Number
UNION ALL
SELECT Number + 1
FROM Sequence
WHERE Number < @max
)
INSERT INTO @ret
SELECT
gt.GeomKey
,gt.vector.STPointN(nums.number).STX AS X
,gt.vector.STPointN(nums.number).STY AS Y
,nums.number AS PointNo
FROM GeoTable gt, Sequence nums
WHERE nums.number <= gt.vector.STNumPoints()
RETURN
END;
Se detta exempel på SQL-fiol för ett komplett fungerande exempel.