Este SQL solo devuelve el primer elemento de actividad. ¿Cómo los selecciono a todos? Si elimino [1] en la consulta, aparece el error de que "value() requiere un singleton".Obtener múltiples registros de la columna xml con value() en SQL Server
DECLARE @myDoc xml
SET @myDoc =
'<Root>
<Activities>
<Activity>This is activity one</Activity>
<Activity>This is activity two</Activity>
<Activity>This is activity three</Activity>
</Activities>
</Root>'
SELECT @myDoc.value('(/Root/Activities/Activity)[1]', 'varchar(100)')
¿Qué sucede si la etiqueta XML aparece varias veces y me gustaría seleccionar tantas veces como aparezca? http://stackoverflow.com/questions/26426412/how-to-ensure-the-sql-is-able-to-read-all-xml-tag-data – SearchForKnowledge
¿Qué es T y qué es C –
T es un alias para la tabla derivada creada por la función de nodos. Esa función de nodos devuelve un trozo de xml que incluye todos los nombres de nodo de Actividad + valores (y devolvería los nodos y valores secundarios también si hubiera alguno). C es un alias de columna, en este caso divide el xml en nodos de 'Actividad' en cada fila de esa columna. – Davos