क्या आप जोर देते हैं ओपनएक्सएमएल का उपयोग करने पर? यह पुराना है, यह विरासत है - मूल XQuery फ़ंक्शन का उपयोग करना आमतौर पर बहुत आसान है ।
कुछ इस तरह का प्रयास करें:
DECLARE @Employees TABLE (EmployeeID INT, Title VARCHAR(20), FirstName VARCHAR(20),LastName VARCHAR(20))
INSERT INTO @Employees VALUES(1, 'Engineering', 'Mike', 'Brown')
INSERT INTO @Employees VALUES(2, 'Programmer', 'Yves', 'Anthony')
DECLARE @doc XML
SET @doc = '<ROOT>
<Employee EmployeeID = "1" EmpStatus = "Full Time"/>
<Employee EmployeeID = "2" EmpStatus ="Part Time" />
</ROOT>'
;WITH XmlCTE AS
(
SELECT
EmpID = Empl.value('@EmployeeID', 'int'),
EmpStatus = Empl.value('@EmpStatus', 'varchar(10)')
FROM @doc.nodes('/ROOT/Employee') AS Tbl(Empl)
)
SELECT
e.*, x.EmpStatus
FROM
@Employees e
INNER JOIN
xmlcte x ON e.EmployeeID = x.EmpID
यह मुझे निम्न का आउटपुट देता है: