这就是所谓的表中的数据域称为对象的字段中的值:SQL或C#:遍历一个字段的值,并插入到另一个
<data><styleid>287634</styleid><c1001>S</c1001><c1002>S</c1002><c1004>S</c1004></data>
我需要这样做:
Select into objectsindex (product, typeid, classid, objectid, FieldName, FieldValue)
Values
select
product,
typeid,
classid,
objectid,
FieldName = 'c1001',
FieldValue = CONVERT(xml, DataFields).value('(/data/c1001/node())[1]', 'nvarchar(1)')
from objects where typeid = 45
在该领域(除了<data></data>
<styleid></styleid>
和节点)的每个XML节点和对象表,其中typeid的= 45。
在“C1001”和/ C1001 /值的每个记录变量需要从DataFields字段中提取。
我在标题中放了c#,因为我认为很多人会告诉我这不仅仅是SQL的工作。但我知道有一些真正的SQL Geniuses,所以我希望有一个SQL解决方案。
尝试重新标记XQuery。由于节点名称是可变的,因此可能会有解决方案使用可以将其全部保留在T-SQL中的解决方案。 – Yuck 2011-04-28 12:27:30