Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Renvoi de plusieurs lignes à partir de l'interrogation de la colonne XML dans SQL Server 2008

Regardez la méthode .nodes() dans la documentation en ligne :

DECLARE @r TABLE (AliasesValue XML)
INSERT INTO @r 
SELECT '<aliases>   <alias>     <aliasType>AKA</aliasType>     <aliasName>Pramod Singh</aliasName>   </alias>   <alias>     <aliasType>AKA</aliasType>     <aliasName>Bijoy Bora</aliasName>   </alias> </aliases> '


SELECT c.query('data(aliasType)'), c.query('data(aliasName)')
FROM @r r CROSS APPLY AliasesValue.nodes('aliases/alias') x(c)