問題タブ [select-for-xml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1707 参照

xml - 多くの列を持つ行を、2 つの列 (フィールド名と値) と多くの行を持つテーブルに変換するにはどうすればよいですか?

特定の解決策を求めるのは嫌いなので、間違った方法でアプローチしている場合に備えて、質問の背景を次に示します。背景をスキップして質問に直接進みたい場合は、太字の行までスキップしてください。SQL データベースからのデータが事前入力される PDF フォームを作成しています。これを行うには、データをデータベースから XFDF ファイルにエクスポートする必要があります。これにより、空白の PDF フォームと簡単にマージして値を入力できます。

XFDF ファイルの形式は次のとおりです。

ここで、"FirstName" と "LastName" は PDF フォームのフィールド名に対応し、"John" と "Smith" はフォームに入力するデータベースからの対応する値です。

したがって、私の目標は、XFDF ファイルを作成し、PDF のフィールドの名前をテーブルの列の名前に対応させることです。私の現在のアプローチは、SELECT FOR XML EXPLICIT ステートメントを使用することです。これを使用するには、最初にデータを選択して、for xml の明示的なステートメントで必要な「ユニバーサル テーブル」形式にする必要があります。これにより、元のデータ テーブルの列ごとに個別の行が作成されます。各フィールドを手動で調べて、列ごとに個別の select ステートメントを記述できます。たとえば、FirstName 列部分は次のようになります。

(select for XML ステートメントの正確な構文であるかどうかはわかりませんが、そのようなものである必要があります)

元のテーブルの各列に対してそのような select ステートメントを実行した場合 (さらに、ルート レベルの "fields" 要素に対して 1 つを追加し、それらを結合すると、SELECT FOR XML EXPLICIT ステートメントを実行するために必要なテーブルが作成されます。

ただし、このフォームには大量のフィールドがあり (政府機関! ええ!)、これをプログラムで行う何らかの方法を希望します。

背景を説明したので、ここに私の実際の質問があります。背景を読んで私のアプローチがおかしいと思われる場合は、お知らせください。

次のような行を含むテーブルを取得する方法が必要です。

それから次のような新しいテーブルを作成します。

これが有効であれば、次のようにします。

明らかにそれは不可能であり、選択されている列を変数にすることはできません。私はこの質問 ( SQL サーバー 2008 の Select ステートメントで変数列名を使用する) を見て、一番上の答えは有望かもしれませんが、「しかし、それはすべてかなり恐ろしい、私見です」で終わります。その道に着手する前に、「かなり恐ろしい」ものではない解決策を検討したいと思います. 助言がありますか?

0 投票する
1 に答える
30 参照

sql-server - 特定の XML レイアウトが必要

次の表があります。

次の内容で:

このコンテンツから XML を作成する場合に使用します

そして、これは私を返します

しかし、私が必要としているのに戻ることができないのは

これを個別の XML ファイルに書き込む必要があります。stlh_num ごとに新しいファイルが必要です。

これは可能ですか?

0 投票する
2 に答える
4300 参照

sql-server - SQL Server SELECT FOR XML 同じレベルで 2 つの要素を取得する方法

2 つの異なる XML を組み合わせます。

たとえば、最初の部分の SQL は次のようになります。

実行すると、次のようになります。

2番目のものはここにあります:

あなたはこれを得るでしょう:

次に、2 つの部分をまとめます。

結果は次のとおりです。

しかし、そこに要素「aa」と「bb」を入れたくありません。私はこれを手に入れたいです:

しかし、それを達成する方法がわかりません。

ヒントはありますか?

0 投票する
1 に答える
2353 参照

sql-server - xml ステートメントを選択して、Excel シートデータ形式を生成します

Excelスプレッドシートに変換できる形式でxmlを生成するSQLクエリを作成しようとしています。したがって、元のSQLテーブルには次のデータが含まれています

これまでに作成できたSQLクエリは次のとおりです

これにより、次のxmlが生成されます

だから私が取得する必要があるのは、次のxml形式です

今のところ、必要な出力を得るために最初の xml 形式の変換を行うことに頼っていますが、追加の変換を行わずにこれを直接生成するために使用できる SQL クエリを作成したいと考えていました。ご協力いただきありがとうございます。

0 投票する
2 に答える
1937 参照

sql-server - FOR XML SQL Server - 出力 XML の可変要素名

私はFOR XMLSQL Serverを初めて使用します。かなり検索しましたが、これに対する答えが見つかりません。

要素名がハードコーディングされておらず、代わりに各行のセルから取得される「for xml」を使用して可変要素名を使用できますか? 次の例を見てください...

ORDERS:

FOR XMLクエリ:

必要な出力:

私は要素名に属性を与えることができることを知っており、以下のように個人ORDERORDERS属性を与えることができることを知ってSTATUSいますが、残念ながらそれはXML文書を受け取る人々が探しているものではありません:(

出力:

可能であれば、これらすべてを SQL Server 内で実行できるようにしたいと考えています。これについて私を助けていただければ、本当にありがとうございます。

0 投票する
1 に答える
98 参照

sql-server - FOR XML句でのXML要素のグループ化

一時テーブルから構造 xml ドキュメントを作成しようとしています。一時テーブルの形式は次のとおりです。

次の形式で xml 形式を作成しようとしています。

上記のクエリを試してみましたが、サブクエリが複数の値を返したと言われています。このクエリに何が欠けているか教えていただけますか。このシナリオを処理するより良い方法はありますか。

前もって感謝します

0 投票する
2 に答える
86 参照

sql-server - 追加の xml ルート要素を導入せずに、SQL Server の XML プロジェクション内で生の xml を出力する方法

XML を構築しようとする以下の T-SQL スニペットが与えられます。

結果の XML は次のとおりです。

以下の例のように、UnwantedElementを使用せずに同じ出力を取得するにはどうすればよいですか。

0 投票する
1 に答える
68 参照

sql-server - for xmlを使用してSQLステートメントを生成した後に特殊文字を取り除く方法

使用して監査証跡用の挿入ステートメントをfor xml生成しましたが、正しい挿入ステートメントが生成されます。以下は生成されるものです。

これがPrint @SQL出力されるものです:

ただし、を使用して実行しようとするとEXECUTE(@SQL)、エラー メッセージが表示されます。

「&」付近の構文が正しくありません。