以下の例を参照してください。異なる aliasType と aliasName を持つ同じ ClaimNo を持つ 2 つの行として結果を取得しようとしています。
現在の結果は次のよう になります。ここに画像の説明を入力してください
DECLARE @r TABLE (AliasesValue XML)
INSERT INTO @r
SELECT '<aliases> <ClaimsNotificationAddRq><Claim><ClaimNo>123</ClaimNo> <alias> <aliasType>AKA</aliasType> <aliasName>Pramod Singh</aliasName> </alias> <alias> <aliasType>AKA</aliasType> <aliasName>Bijoy Bora</aliasName> </alias></Claim></ClaimsNotificationAddRq> </aliases> '
SELECT c.query('data(Claim/ClaimNo)'), c.query('data(Claim/alias/aliasType)'), c.query('data(Claim/alias/aliasName)')
FROM @r r CROSS APPLY AliasesValue.nodes('aliases/ClaimsNotificationAddRq') x(c)