を使用して!グループ化した結果、私はGoogleのベースのRSSフィードで使用するために、データを抽出しようとしていたXQuery
- 名前空間
- 次のように私の現在のSQLがある
をグループ化:
私は結果の行数千を取得し、現在のクエリで出力としてSELECT [xml].query('
<Item xmlns:g="a">
<Title>{ data(*/*/*/Title) }</Title>
<g:id>{ sql:column("ReportingCode") }</g:id>
</Item>
')
FROM esh_xml
where [Xml].value('(/*/*/*/Attributes/Attribute[@Description="Category"][text()="MasterMix"])[1]','nvarchar(2000)') is not null
<item xmlns:g="a"><title>blah blah</title><g:id>asdasd<g:id></item>
すなわち
私の所望の出力は
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
<channel>
<title>Mastermixdigital.com Product Feed </title>
<link> http://www.mysite.com/ </link>
<description>mastermix latest release feed </description>
<item xmlns:g="a">
<title>blah blah</title>
<g:id>asdasd<g:id>
</item>
<item xmlns:g="a">
<title>blah blah</title>
<g:id>asdasd<g:id>
</item>
<item xmlns:g="a">
<title>blah blah</title>
<g:id>asdasd<g:id>
</item>
</channel>
</rss>
私は、クエリの実行が通じ検索する前に、冗長ノードを削除することで高速化することができ信じているもう一つ、私はこのことについて行くかもしれない方法上の任意のヒントになります!私はあなたのXML構造やテーブルを持っていないので、私はあなたが何ができるかを示すサンプルを作成した
感謝
名前空間とグループ化は、純粋なXQueryで行うことができます。入力ソースがないと正確にどのように伝えるのかわかりません。データベーステーブル、カラム、およびXQueryエンジンの標準的でないSQL呼び出しはすべて、SLQサーバに固有のものであり、完全なXQuery標準ではありません。 –