Dit XPath-udtryk kan føre til, at flere rækker returneres for hver række i SQL Server-tabellen. Du skal bruge en CROSS APPLY
og et kald til .nodes()
for at få de oplysninger, du leder efter:
WITH XMLNAMESPACES ('http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume' AS ns)
SELECT
JobCandidateID,
ResNames.value('(ns:Name.First)[1]', 'nvarchar(100)')
FROM
HumanResources.JobCandidate
CROSS APPLY
[Resume].nodes('/ns:Resume/ns:Name') AS XTbl(ResNames)
Det burde returnere alt JobCandidateID
værdier og alle fornavne defineret i CV
XML-kolonne for hver række i tabellen.
Hvis du kan være sikker på, at der kun vil være en enkelt
WITH XMLNAMESPACES ('http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume' AS ns)
SELECT
JobCandidateID,
[Resume].value('(/ns:Resume/ns:Name/ns:Name.First)[1]', 'nvarchar(100)')
FROM
HumanResources.JobCandidate