0
DECLARE @Test TABLE (ID INT NOT NULL, XmlContent XML)
INSERT INTO @Test VALUES (1,
'<location>
<locationName>Loc1</locationName>
<locationInchargeName>User1</locationInchargeName>
</location>
<location>
<locationName>Loc2</locationName>
<locationInchargeName>User2</locationInchargeName>
<locationInchargeName>User3</locationInchargeName>
</location>')
SELECT ID, E.P.value('locationName[1]','varchar(200)') as locationName,
E.P.value('locationInchargeName[1]','varchar(200)') AS locationInchargeName
FROM @Test
CROSS APPLY XmlContent.nodes('location') as E(P)
이렇게하면 각 위치 이름의 출력에 첫 번째 위치의 incharge 이름이 부여됩니다.여러 내부 노드 값을 얻는 방법
locationName locationInchargeName
------------- ---------------------
Loc1 User1
Loc2 User2
위치 이름과 함께 모든 locationInchargeNames의 이름을 얻는 방법은 무엇입니까? 다음과 같이 입력하십시오 :
locationName locationInchargeName
------------- ---------------------
Loc1 User1
Loc2 User2
Loc2 User3
어떤 도움을 주시면 감사하겠습니다.