次のようなTBTASK構造という名前のテーブルがあります
PRIID CHARACTER(15) NOT NULL,
BID CHARACTER(10) NOT NULL,
REF CHARACTER(15) NOT NULL,
TIME TIMESTAMP NOT NULL DEFAULT CURRENT TIMESTAMP,
XMLREC XML NOT NULL
DB XMLREC列に格納されるXMLは次のとおりです。
<Root><Code>6</Code><Id>4</Id><Number>999</Number></Root>
<Root><Code>6</Code><Id>4</Id><Number>1001</Number></Root>
<Root><Code>6</Code><Id>4</Id><Number>1002</Number></Root>
<Root><Code>6</Code><Id>4</Id><Number>998</Number></Root>
データを取得するために以下の XQUERY を使用しています。
XQUERY
let $str:= subsequence((db2-fn:sqlquery( 'SELECT XMLREC FROM LIS.TBTASK WHERE BID=1')
/Root[Code='6']),1,5)
order by $str/Root/Number
return ($str)
しかし、私はNUMBER列ごとにソートされた順序で結果を取得していません(順序はNUMBERに適用されます.
これで私を助けてくれませんか。