Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर 2008 से XML को कैसे वापस करें जो एक सामान्य माता-पिता को साझा करने वाले कई चयनों के साथ संरचित है

कुछ इस तरह का प्रयास करें - यह 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>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ASP.Net में SQL इंजेक्शन को रोकना

  2. ड्राइवर सिक्योर सॉकेट लेयर (एसएसएल) एन्क्रिप्शन का उपयोग करके SQL सर्वर से सुरक्षित कनेक्शन स्थापित नहीं कर सका

  3. वर्चर के रूप में संग्रहीत तिथियों की तुलना करना

  4. SQL सर्वर प्रबंधक स्टूडियो (SSMS) कैसे स्थापित करें - SQL सर्वर / TSQL ट्यूटोरियल भाग 1

  5. एसएसआईएस फ्लैट फ़ाइल स्रोत आयात पर एक रिकॉर्ड छोड़ रहा है