1

BZLoans テーブルには、XML データを含む LnXML という名前の列があります。このテーブルには、loanid が格納される Loanid 列もあります。LoanID = 12345 の行の LnXML フィールドのサンプル データを以下に示します。

<Loans>  
<Schedule>
    <PID>4</PID>
           <Amt>2100<dAmt>
</Schedule>
<Schedule>
    <PID>5</PID>
         <Amt>1000</Amt>
</Schedule>
</Loans>

ルート タグは Loans で、その下には複数のサブタグを持つ Schedule タグがあります。

PID タグ値と LoanID 値が指定されている場合に Amt タグの値を返すクエリを探しています。

たとえば、PID が 5、LoanID が 12345 と指定されている場合、クエリは PID、LoanID、Amt 5.12345.1000 を返す必要があります。

助けてくれてありがとう。

4

1 に答える 1

0
declare @Loanid int = 12345
declare @PID int = 5

select @PID as PID,
       @Loanid as Loanid,
       L.X.value('.', 'int') as Amt
from BZLoans as B
  cross apply B.LnXML.nodes('/Loans/Schedule[PID = sql:variable("@PID")]/Amt') as L(X)
where B.Loanid = @Loanid
于 2013-05-09T05:31:55.200 に答える