Listing 3: Query That Uses an Edge Table DECLARE @xml varchar(8000) DECLARE @odoc int DECLARE @pid int SELECT @pid = ProductID, @xml = Overflow FROM Products EXEC sp_xml_preparedocument @odoc OUTPUT, @xml SELECT c.id, c.parentid, c.localname, c.datatype, c.text FROM OpenXML(@odoc,'/') c WHERE c.nodetype = 3 AND c.text like '%Chocolate%' AND EXISTS(SELECT * FROM OpenXML(@odoc,'/') WHERE p.id = c.parentid AND p.nodetype = 1 AND p.namespaceuri = 'urn:mm-ingred') EXEC sp_xml_removedocument @odoc 1 1