Try this.You can do it for the other columns in the xmldeclare @x xml='<Orders> <PurchaseOrder> <OrderID>10248</OrderID> <OrderDate>1996-07-04T00:00:00</OrderDate> <OrderDetails> <Item ProductID="11" UnitPrice="14.0000" Quantity="12" /> <Item ProductID="42" UnitPrice="9.8000" Quantity="10" /> <Item ProductID="72" UnitPrice="34.8000" Quantity="5" /> </OrderDetails> </PurchaseOrder> <PurchaseOrder> <OrderID>10249</OrderID> <OrderDate>1996-07-05T00:00:00</OrderDate> <OrderDetails> <Item ProductID="14" UnitPrice="18.6000" Quantity="9" >tes </Item><Item ProductID="51" UnitPrice="42.4000" Quantity="40" /> </OrderDetails> </PurchaseOrder> </Orders>'select x.i.value('../../OrderID[1]','varchar(40)'),x.i.value('../../OrderDate[1]','varchar(40)'),x.i.value('@ProductID','varchar(40)')from @x.nodes('Orders/PurchaseOrder/OrderDetails/Item')x(i)PBUH