ネストされたクエリを使用して、集計の行データを連結します。ネストされたクエリ内で使用する構文は次のとおりです。
for XML PATH ('')
誰かが上記の引用符の間にあるはずのことを説明できますか? いくつかのテストを行ったところ、行データを HTML のような開始タグと終了タグで囲むだけのようです。
ネストされたクエリを使用して、集計の行データを連結します。ネストされたクエリ内で使用する構文は次のとおりです。
for XML PATH ('')
誰かが上記の引用符の間にあるはずのことを説明できますか? いくつかのテストを行ったところ、行データを HTML のような開始タグと終了タグで囲むだけのようです。
私はあなたが何を意味するのか100%確信が持てませんが、クエリが次のようなものであれば、それが役立つかもしれません:
SELECT R.RegionID AS [@RID],
R.Enabled AS [@Enabled],
(
SELECT ST.TypeID AS [@TID],
QT.[Name] AS [@QTName],
FROM Type ST
INNER JOIN QuarryType QT ON ST.QuarryTypeID = QT.QuarryTypeID
WHERE R.RegionID = ST.RegionID
FOR XML PATH ('QuarryType'), TYPE
)
FROM Region R
FOR XML PATH ('Region'), ELEMENTS, ROOT('root')
ご覧のとおり、各FOR XML PATH ('')
ブロックのテキストは特別なものではなく、とにかくデータに関連していません。次のように、XML 出力の要素名に使用されます。
<root>
<Region RID="123" Enabled="true">
<QuarryType TID="4" QTName="Quarry 1"/>
<QuarryType TID="7" QTName="Quarry 2"/>
<QuarryType TID="9" QTName="Quarry 5"/>
</Region>
</root>
さらにサポートが必要な場合は、お尋ねください。
空の文字列 ('') は特殊なケースです。そこに何を入れても、そこに何を入れても XML の開始タグと終了タグで行が囲まれるという点で、あなたの観察は正しいです。たとえば、「for xml path ('a')」と言うと、結果が で囲まれます<a> </a>
。