xquery 演算子を使用した ans は次のとおりです-->
declare @xmldata xml set @xmldata = '<DynamicProfile xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WinTest"> <AllData xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:KeyValueOfstringstring> <d2p1:Key>MyFirstKey</d2p1:Key> <d2p1:Value>MyFirstValue</d2p1:Value> </d2p1:KeyValueOfstringstring> <d2p1:KeyValueOfstringstring> <d2p1:Key>MySecondKey</d2p1:Key> <d2p1:Value>MySecondValue</d2p1:Value> </d2p1:KeyValueOfstringstring> <d2p1:KeyValueOfstringstring> <d2p1:Key>MySecondKey</d2p1:Key> <d2p1:Value>MySecondValue</d2p1:Value> </d2p1:KeyValueOfstringstring> <d2p1:KeyValueOfstringstring> <d2p1:Key>MyFirstKey</d2p1:Key> <d2p1:Value>MySecondValue</d2p1:Value> </d2p1:KeyValueOfstringstring> <d2p1:KeyValueOfstringstring> <d2p1:Key>MyFirstKey</d2p1:Key> <d2p1:Value>MySecondValue</d2p1:Value> </d2p1:KeyValueOfstringstring> <d2p1:KeyValueOfstringstring> <d2p1:Key>MySecondKey</d2p1:Key> <d2p1:Value>MySecondValue</d2p1:Value> </d2p1:KeyValueOfstringstring> <d2p1:KeyValueOfstringstring> <d2p1:Key>MySecondKey</d2p1:Key> <d2p1:Value>MySecondValue</d2p1:Value> </d2p1:KeyValueOfstringstring> <d2p1:KeyValueOfstringstring> <d2p1:Key>MyFirstKey</d2p1:Key> <d2p1:Value>MySecondValue</d2p1:Value> </d2p1:KeyValueOfstringstring> </AllData> </DynamicProfile>' ;WITH XMLNAMESPACES ( DEFAULT 'http://schemas.datacontract.org/2004/07/WinTest', 'http://schemas.microsoft.com/2003/10/Serialization/Arrays' as d2p1 ) SELECT x.c.value('(d2p1:Key)[1]', 'varchar(100)') as key3, x.c.value('(d2p1:Value)[1]', 'varchar(100)') as value FROM @xmldata.nodes('/DynamicProfile/AllData/d2p1:KeyValueOfstringstring') x(c) where x.c.value('(d2p1:Key)[1]', 'varchar(100)') = 'MySecondKey'
プレ>