のは、のSQLServer 2008データベースにそのようなテーブルがあるとしましょう:は、単一のテーブルにテーブル値関数の複数の結果を連結
CREATE TABLE [dbo].[Test] (
[TableId] [int] IDENTITY(1,1) NOT> NULL,
[Data] [xml] NOT NULL
)
とも私は私のテーブルの列Data
を解析するために、このようなテーブル値関数を持っています。
ALTER FUNCTION [dbo].[fnParseTable] (@header XML)
RETURNS @parsedTable TABLE (
[Type] NVARCHAR(50),
[Value] NVARCHAR(50)
)
AS BEGIN
--parse xml here
RETURN
END
この機能のすべての結果を表の各列に連結できますか?
SELECT UNION fnParseTable(Data) FROM dbo.Test
PS:
私はこのようなものが必要。私は、カーソルを使用してそれを行うことができます知っているが、私は、簡単に解決
を必要とされないので\t Data.query( '/パス')SELECT 、私はその一例を実行することに成功しましたが、私はときに適しorangepips XPathのソリューションを使用することを好みます.value( '。[1]'、 'nvarchar(100)')ASタイプ \t FROM Test。このSELECTの 結果はこのようなものです:だから row1Data1row1Data2row1Data3 row1Data2row2Data2row2Data3 row1Data3row3Data2row3Data3 、それは単なる一例行のXMLとしたい出力を提供する場合、私はあなたがあなたのより良い答えを与えることができ – Egor4eg
文字列の値を連結します。 – orangepips
このサイトではxmlの投稿は許可されていません。 Googleのオンラインドキュメントhttps://docs.google.com/document/d/1UzHz3_qb2klJJvJM9l6IoUAuxpQlm8q8m475_R_zujg/edit?hl=en を作成しました。ここで私が期待している結果は次のとおりです。https://spreadsheets.google.com/ccc?key= 0AlLEbQbwDYKNdHNuWXlvUFBMTjR2ZGRBVzdqWmNzTUE&hl = en。 (私はあなたがGoogleアカウントを持っていることを願って) – Egor4eg