問題タブ [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.
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 ステートメントで変数列名を使用する) を見て、一番上の答えは有望かもしれませんが、「しかし、それはすべてかなり恐ろしい、私見です」で終わります。その道に着手する前に、「かなり恐ろしい」ものではない解決策を検討したいと思います. 助言がありますか?
sql-server - 特定の XML レイアウトが必要
次の表があります。
次の内容で:
このコンテンツから XML を作成する場合に使用します
そして、これは私を返します
しかし、私が必要としているのに戻ることができないのは
これを個別の XML ファイルに書き込む必要があります。stlh_num ごとに新しいファイルが必要です。
これは可能ですか?
sql-server - SQL Server SELECT FOR XML 同じレベルで 2 つの要素を取得する方法
2 つの異なる XML を組み合わせます。
たとえば、最初の部分の SQL は次のようになります。
実行すると、次のようになります。
2番目のものはここにあります:
あなたはこれを得るでしょう:
次に、2 つの部分をまとめます。
結果は次のとおりです。
しかし、そこに要素「aa」と「bb」を入れたくありません。私はこれを手に入れたいです:
しかし、それを達成する方法がわかりません。
ヒントはありますか?
sql-server - xml ステートメントを選択して、Excel シートデータ形式を生成します
Excelスプレッドシートに変換できる形式でxmlを生成するSQLクエリを作成しようとしています。したがって、元のSQLテーブルには次のデータが含まれています
これまでに作成できたSQLクエリは次のとおりです
これにより、次のxmlが生成されます
だから私が取得する必要があるのは、次のxml形式です
今のところ、必要な出力を得るために最初の xml 形式の変換を行うことに頼っていますが、追加の変換を行わずにこれを直接生成するために使用できる SQL クエリを作成したいと考えていました。ご協力いただきありがとうございます。
sql-server - FOR XML SQL Server - 出力 XML の可変要素名
私はFOR XML
SQL Serverを初めて使用します。かなり検索しましたが、これに対する答えが見つかりません。
要素名がハードコーディングされておらず、代わりに各行のセルから取得される「for xml」を使用して可変要素名を使用できますか? 次の例を見てください...
表ORDERS
:
FOR XML
クエリ:
必要な出力:
私は要素名に属性を与えることができることを知っており、以下のように個人ORDER
とORDERS
属性を与えることができることを知ってSTATUS
いますが、残念ながらそれはXML文書を受け取る人々が探しているものではありません:(
出力:
可能であれば、これらすべてを SQL Server 内で実行できるようにしたいと考えています。これについて私を助けていただければ、本当にありがとうございます。
sql-server - FOR XML句でのXML要素のグループ化
一時テーブルから構造 xml ドキュメントを作成しようとしています。一時テーブルの形式は次のとおりです。
次の形式で xml 形式を作成しようとしています。
上記のクエリを試してみましたが、サブクエリが複数の値を返したと言われています。このクエリに何が欠けているか教えていただけますか。このシナリオを処理するより良い方法はありますか。
前もって感謝します
sql-server - 追加の xml ルート要素を導入せずに、SQL Server の XML プロジェクション内で生の xml を出力する方法
XML を構築しようとする以下の T-SQL スニペットが与えられます。
結果の XML は次のとおりです。
以下の例のように、UnwantedElementを使用せずに同じ出力を取得するにはどうすればよいですか。
sql-server - for xmlを使用してSQLステートメントを生成した後に特殊文字を取り除く方法
使用して監査証跡用の挿入ステートメントをfor xml
生成しましたが、正しい挿入ステートメントが生成されます。以下は生成されるものです。
これがPrint @SQL
出力されるものです:
ただし、を使用して実行しようとするとEXECUTE(@SQL)
、エラー メッセージが表示されます。
「&」付近の構文が正しくありません。