這裏是我的方案添加到XML列的屬性:從另一列在同一個/另一個表
--ORDER table
OrderID OrderCode DateShipped ShipmentXML
1 ABC 08/06/2013 <Order><Item CustomerName="BF" City="Philadelphia" State="PA"></Item></Order>
2 XYZ 08/05/2013 <Order><Item CustomerName="TJ" City="Richmond" State="VA"></Item></Order>
在過程中的某個時刻,我會知道這些訂單分別TrackingNumber。跟蹤號碼另一個表可用這樣的:
--TRACKING table
TrackingID OrderCode TrackingNumber
98 ABC 1Z1
99 XYZ 1Z2
我期待的輸出如下:
OrderID OrderCode ShipmentXML
1 ABC <Order><Item CustomerName="BF" City="Philadelphia" State="PA" DateShipped="08/06/2013" TrackingNumber="1Z1"></Item></Order>
2 XYZ <Order><Item CustomerName="TJ" City="Richmond" State="VA" DateShipped="08/05/2013" TrackingNumber="1Z2"></Item></Order>`
正如你所看到的,我試圖讓TrackingNumber
和DateShipped
每個OrderCode
並將它們作爲屬性。意圖是一個SELECT,而不是UPDATE。
我見過的所有示例演示瞭如何使用常量值或變量更新XML。我無法找到一個用JOIN演示XML更新的人。請幫助完成這項工作。
UPDATE:
通過 '選擇不更新',我的意思是永久表中沒有更新;因爲Mikael在第一個答案下面評論,所以臨時表的更新非常好。
+1。在各種情況下更豐富的選擇更豐富的選擇。 –
@ i-one這種方法的優點是XML可以有任意數量的其他節點,並且它們仍然會在結果中。您和其他答案都重新構建了XML,假定問題中存在的是全部。而且很可能如此,只有OP知道。 –
+1,是的,如果XML比問題 –