Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何获取多个内部节点值_Sql_Sql Server_Xml - Fatal编程技术网

Sql 如何获取多个内部节点值

Sql 如何获取多个内部节点值,sql,sql-server,xml,Sql,Sql Server,Xml,如何获取所有locationInchargeNames的名称及其位置名称?大概是这样的: locationName locationInchargeName ------------- --------------------- Loc1 User1 Loc2 User2 任何帮助都将不胜感激。试试以下方法: locationName locationInchargeName ------------- -------------

如何获取所有locationInchargeNames的名称及其位置名称?大概是这样的:

locationName   locationInchargeName
-------------  ---------------------    
Loc1            User1
Loc2            User2
任何帮助都将不胜感激。

试试以下方法:

locationName   locationInchargeName
-------------  ---------------------    
Loc1            User1
Loc2            User2
Loc2            User3     
locationName   locationInchargeName
-------------  ---------------------    
Loc1            User1
Loc2            User2
Loc2            User3     
SELECT 
    ID, 
    XTbl1.Loc.value('locationName[1]','varchar(200)') as locationName, 
    XTbl2.InCharge.value('.','varchar(200)') AS locationInchargeName 
FROM @Test
CROSS APPLY XmlContent.nodes('location') as XTbl1(Loc)
CROSS APPLY XTbl1.Loc.nodes('locationInchargeName') as XTbl2(InCharge)