Mam lista wartości XML zawarte w SQL tabeli pole, które wygląda tak:Zaznacz wszystkie atrybuty XML w 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>
Chcę móc utworzyć tabelę SQL temp tak:
CREATE TABLE #incompleteCode
(
value nvarchar(2),
item nvarchar(20)
)
i zapełnij go wszystkimi wartościami/elementami z pliku XML, dzięki czemu mogę użyć tabeli tymczasowej do JOIN z inną instrukcją SELECT.
SELECT Data.value('(/valuelist/li/@item)[1]', 'nvarchar(50)') AS Item
FROM ValueList
WHERE Name = 'VL_IncCompCondVL'
Stwierdzenie dostaje mi się pierwszy, a jeśli przyrost [1] [2] i tak dalej, i może 1 przez 1 wybrać każdy atrybut. Ale muszę wierzyć, że istnieje sposób, aby je wszystkie zdobyć. Próbowałem różnych odmian i po prostu nie zastanawiałem się nad tym. Myślę, że muszę gdzieś użyć symbolu wieloznacznego *.
nie mam pojęcia jak to działa, ale to robi - perfecly. I intellisense w SQL Managment Studio też nie. To jest zdezorientowane o item.value i data.nodes. Muszę zbadać metodę węzłów. Dziękuję bardzo! – nitewulf50