Hi there the code below gives these results(1 row(s) affected)ID Name mAKE model------------------------------ ------------------------------ ------------------------------ ------------------------------woman notsosuper VOLKSWAGEN POLO E (55)woman notsosuper Renault CLIOWoman Super VOLKSWAGEN POLO E (55)Woman Super Renault CLIO(4 row(s) affected)i would like these resultsID Name mAKE model------------------------------ ------------------------------ ------------------------------ ------------------------------woman notsosuper VOLKSWAGEN POLO E (55)Woman Super Renault CLIOcan somebody please help on thisin this example i only have two person elementsbut when i run the code live i will have 1000's drop table #tmpa select cast('<root> <person> <VRN>aa00aaa</VRN> <Make>VOLKSWAGEN </Make> <Model>POLO E (55)</Model> <PolicyNumber>987654321</PolicyNumber> <Namedet> <Title>Miss</Title> <FirstName>notsosuper</FirstName> <LastName>woman</LastName> <PostCode>bbb111</PostCode> </Namedet> </person> <person> <VRN>bb99bbb</VRN> <Make>Renault</Make> <Model>CLIO</Model> <PolicyNumber>123456789</PolicyNumber> <Namedet> <Title>Miss</Title> <FirstName>Super</FirstName> <LastName>Woman</LastName> <PostCode>zzz123</PostCode> </Namedet> </person> </root>' as xml) as test into #tmpa---- SELECT x.l.value('LastName[1]','VARCHAR(30)') AS [ID], x.l.value('FirstName[1]','VARCHAR(30)') AS [Name], y.m.value('Make[1]','VARCHAR(30)') AS mAKE, y.m.value('Model[1]','VARCHAR(30)') AS model FROM #tmpa CROSS APPLY test.nodes('/root/person/Namedet') x(l) CROSS APPLY test.nodes('/root/person') y(m)ASH