0
我有一个带有键入的XML字段的表。典型的XML格式是:在sql中键入xml - 这可能吗?
<root>
<users>
<user name="John Doe" />
<user name="Alexander" />
</users>
<apps>
<app name="Office 2010" />
<app name="SQL Server 2005" />
<apps>
</root>
假设这表有25行与所述用户不同的值和应用程式的元素,是有一种方法:
- 检索在/根的所有用户的列表/ users元素的所有记录。
- 检索所有记录的所有用户+应用程序的列表。
此行上的SQL工作正常,但只给我第一个用户名。
SELECT xtbl.col1.value('(user/@name)[1]', 'varchar(100)')
FROM mytable
CROSS APPLY xmlcol.nodes('/root/users') AS xtbl(col1)
太棒了 - 谢谢。有效。在应用程序节点上添加另一个CROSS APPLY也为第二个应用程序带来了窍门。再次感谢。 – stackoverflow 2010-12-03 15:00:53