Tôi có một danh sách giá trị XML chứa trong một SQL Bảng Dòng giống như vậy:Chọn thuộc tính tất cả XML trong SQL
<valuelist xmlns="" name="VL_IncCompCondVL">
<li value="BL" item="BLOCKED" />
<li value="NK" item="NO KEY" />
<li value="FL" item="FLOODED" />
<li value="TD" item="TORN DOWN" />
<li value="UL" item="UNABLE TO LOCATE" />
</valuelist>
Tôi muốn để có thể tạo ra một bảng SQL tạm thời như sau:
CREATE TABLE #incompleteCode
(
value nvarchar(2),
item nvarchar(20)
)
và điền nó với tất cả các giá trị/mục từ XML để tôi có thể sử dụng bảng tạm thời để THAM GIA với một câu lệnh SELECT khác.
SELECT Data.value('(/valuelist/li/@item)[1]', 'nvarchar(50)') AS Item
FROM ValueList
WHERE Name = 'VL_IncCompCondVL'
Tuyên bố đó cho tôi câu đầu tiên và nếu tôi tăng [1] thành [2] và cứ như vậy, tôi có thể chọn 1 từng thuộc tính. Nhưng tôi phải tin rằng có một cách để có được tất cả. Tôi đã thử một số biến thể và tôi không tìm ra nó. Tôi nghĩ tôi cần sử dụng ký tự đại diện * ở đâu đó.
Tôi không có ý tưởng làm thế nào mà làm việc nhưng nó - perfecly. Và intellisense trong SQL Managment Studio cũng vậy. Nó bị nhầm lẫn về item.value và data.nodes. Tôi phải đi nghiên cứu phương pháp nút. Cảm ơn bạn rất nhiều! – nitewulf50