私は次のSQLクエリを持っています:
select
I.N.value('@DRN', 'varchar(50)') as DRN,
I.N.value('@CR_GUID', 'varchar(50)') AS CR,
I.N.value('@DR_GUID', 'varchar(50)') AS DR,
I.N.value('@AMOUNT', 'money') as Amount,
I.N.value('@DATE', 'Date') as ProDate
from Table as T
cross apply T.column.nodes('/ITEMS/ITEM') as I(N)
現在、すべてを元に戻します。例:
DRN CR DR Amount Prodate
12 2p1rf 684pb 4686.23 2012-11-14
12 586io fdc25 4686.23 2012-11-16
13 hnv7p 19i6f 1800.00 2012-11-20
14 cd7k0 9s2vc 570.50 2012-11-20
15 pm78s qw3d5 8500.00 2012-11-23
以下を結果から除外するにはどうすればよいですか。これは xml 列の同じ行からのものですか?
DRN CR DR Amount Prodate
*12* 2p1rf 684pb 4686.23 2012-11-14
*12* 586io fdc25 4686.23 2012-11-16
複数の値ではなく、xml 列に 1 つの項目を含む行のみをクエリで返すようにします。
ありがとうございました
次に、複数のアイテムを含む行の最初のアイテムのみを戻すにはどうすればよいですか:
DRN CR DR Amount Prodate
*12* 2p1rf 684pb 4686.23 2012-11-14
*12* 586io fdc25 4686.23 2012-11-16
行に関連するすべてではなく、日付が2012-11-14のアイテムのみを表示したいですか?それが理にかなっていることを願っていますか?