這就是所謂的表中的數據域稱爲對象的字段中的值: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