SQL - Formatierung XML-Antwortwert
Frage
Ich möchte in folgendem Format meine Antwort XML erhalten ...
<PersonDetails>
<Name>Ajay</Name>
<Age>29</Age>
<ContactDetails>
<ContactDetail>
<ContactType>Mobile</ContactType>
<ContactValue>9565649556</ContactValue>
</ContactDetail>
<ContactDetail>
<ContactType>Email</ContactType>
<ContactValue>ajay@yahoo.com</ContactValue>
</ContactDetail>
</ContactDetails>
</PersonDetails>
Ich habe 2 verschiedene SELECT-Anweisungen hier ...
SELECT name, age FROM Person_Details
WHERE id = 12
SELECT Contact_Type, Contact_Value FROM Person_Contact_Details
Where id = 12
Irgendwelche Vorschläge hier ... Ich habe versucht, mit Kombinationen von FOR XML EXPLICIT / PATH.
Lösung
PATH
:
SELECT name AS Name
, age AS Age
, (SELECT Contact_Type AS ContactType
, Contact_Value AS ContactValue
FROM Person_Contact_Details c
WHERE c.id = p.id
FOR XML PATH('ContactDetail'), TYPE) AS ContactDetails
FROM Person_Details p
WHERE id = 12
FOR XML PATH('PersonDetails')
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow