मुझे नहीं लगता कि आप इसे एक दृश्य में कर सकते हैं लेकिन आप जो चाहते हैं उसे प्राप्त करने के लिए आप एक तालिका-मूल्यवान उपयोगकर्ता परिभाषित फ़ंक्शन (एक फ़ंक्शन जो एक तालिका देता है) बना सकते हैं।
यह उदाहरण
. के रूप में परिभाषित तालिका का उपयोग करता हैCREATE TABLE GeoTable (GeomKey int, vector GEOMETRY)
जो विभिन्न ज्यामिति प्रकारों को संग्रहीत करता है (उदाहरण के लिए मैंने नीचे लिंक किया है जिसमें मैंने POINT, MULTIPOINT, LINESTRING और 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;
इसे देखें नमूना SQL Fiddle एक पूर्ण कामकाजी उदाहरण के लिए।