+5  A: 
SELECT  person.name, person.age,
        (
        SELECT  address.streetAddress, address.town, address.postcode
        FROM    Address as address
        WHERE   person.PersonID = address.PersonID
        FOR XML PATH('ADDRESS'), TYPE
        ),
        (
        SELECT  contact.type, contact.value
        FROM    Contact as contact
        WHERE   person.PersonID = contact.PersonID
        FOR XML PATH('CONTACT'), TYPE
        ),
FROM    Person as person
WHERE   person.PersonID = 1
FOR XML AUTO, ELEMENTS
Quassnoi
FYI... I believe the "XML PATH" requires SQL 2008.
David
@David: no, it works on `2005`. http://msdn.microsoft.com/en-us/library/ms189885(SQL.90).aspx
Quassnoi
Thanks @Quassnoi, it works a treat!
Matthew Winder