Что я здесь делаю, так это ваша работа (создание тестового сценария).Попробуйте:
DECLARE @propTable TABLE(ID INT, eMail VARCHAR(100),ward VARCHAR(100));
INSERT INTO @propTable VALUES(1,'Some@email.com','blah');
DECLARE @AssessmentTable TABLE(ID INT, PropID INT /*fk*/, Code VARCHAR(100),Descr VARCHAR(100));
INSERT INTO @AssessmentTable VALUES(1,1,'GPO','')
,(2,1,'ASB','001');
- запрос
SELECT pt.eMail AS PropEMail
,pt.ward AS PropWard
,(
SELECT at.Code AS AssessmentCode
,at.Descr AS AssessmentDesc
FROM @AssessmentTable at
WHERE at.PropID=pt.ID
FOR XML PATH('RiskAssessment'),ROOT('RiskAssessmentList'),TYPE
)
FROM @propTable pt
FOR XML PATH('Property'),ROOT('UESDPropertyDetail');
Результат
<UESDPropertyDetail>
<Property>
<PropEMail>Some@email.com</PropEMail>
<PropWard>blah</PropWard>
<RiskAssessmentList>
<RiskAssessment>
<AssessmentCode>GPO</AssessmentCode>
<AssessmentDesc />
</RiskAssessment>
<RiskAssessment>
<AssessmentCode>ASB</AssessmentCode>
<AssessmentDesc>001</AssessmentDesc>
</RiskAssessment>
</RiskAssessmentList>
</Property>
</UESDPropertyDetail>