see thisDECLARE @xml XMLSET @xml='<order><item1d><id>1</id><qty>2</qty><itemprice>0</itemprice><addon><id>1</id><id>2</id><id>3</id></addon></item1d><item1d><id>3</id><qty>1</qty><itemprice>0</itemprice><addon></addon></item1d></order>'SELECT --t.u.value('.[1]','int') as id,x.v.value('(../id)[1]', 'INT') as iid,x.v.value('(../qty)[1]', 'INT') as qty,x.v.value('(../itemprice)[1]', 'INT') as ipr,t.u.value('(.)[1]', 'INT') as iFROM @xml.nodes('/order/item1d/addon')x(v)outer apply x.v.nodes('./id')t(u)output---------------------------iid qty ipr i---------------------------1 2 0 11 2 0 21 2 0 33 1 0 NULL------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/