कुछ इस तरह का प्रयास करें - यह XML PATH
के लिए उपयोग करता है और किसी दिए गए ग्राहक के लिए "लिंक किए गए" उप-नोड्स बनाने के लिए उप-चयन करता है (मैंने इसे दो उप तालिकाओं तक सीमित कर दिया है - लेकिन आपको इसका "सार" प्राप्त करना चाहिए और इसे किसी भी लिंक किए गए उप-सारणी तक विस्तारित करने में सक्षम होना चाहिए। /em> ):
SELECT
CustomerID AS '@CustomerID',
CustName AS '@Name',
(SELECT ProductName AS '@productname'
FROM dbo.Products p
WHERE p.CustomerID = c.CustomerID
FOR XML PATH('Product'), TYPE) AS 'Products',
(SELECT HobbyName AS '@hobbyname'
FROM dbo.Hobbies h
WHERE h.CUstomerID = c.CustomerID
FOR XML PATH('Hobby'), TYPE) AS 'Hobbies'
FROM
dbo.Customers c
FOR XML PATH('Customer'), ROOT('Customers')
मुझे कुछ ऐसा आउटपुट देता है:
<Customers>
<Customer CustomerID="1" Name="Fred">
<Products>
<Product productname="Table" />
<Product productname="Wardrobe" />
<Product productname="Chair" />
</Products>
<Hobbies>
<Hobby hobbyname="Golf" />
<Hobby hobbyname="Swimming" />
</Hobbies>
</Customer>
<Customer CustomerID="2" Name="Sue">
<Products>
<Product productname="CD Player" />
<Product productname="Picture frame" />
</Products>
<Hobbies>
<Hobby hobbyname="Dancing" />
<Hobby hobbyname="Gardening" />
<Hobby hobbyname="Reading" />
</Hobbies>
</Customer>
</Customers>