[英]SQL Server XML query
自大学以来我就没有处理过XML文档。 我正在寻找帮助。 我需要在SQL Server中编写一个XML查询,该查询将这样输出数据。
请注意,数据只是从SQL Server中的一个表中提取的。
<EnrollmentRequest>
<Vendor id="string"/>
<Members>
<Member> -- 1st Member Record
<PayerPatientId>string</PayerPatientId>
<PayerInsuranceId>string</PayerInsuranceId>
<RequestTypeId>6427</RequestTypeId>
<LastName>string</LastName>
<FirstName>string</FirstName>
<Gender>string</Gender>
<DOB>string</DOB>
<Zip>string</Zip>
<Phone>string</Phone>
<SSN>string</SSN>
<City>string</City>
<State>string</State>
<DateOfServiceRange/>
<PatientConsent>string</PatientConsent>
</Member>
<Member> -- 2nd Member Record
<PayerPatientId>string</PayerPatientId>
<PayerInsuranceId>string</PayerInsuranceId>
<RequestTypeId>-2065</RequestTypeId>
<LastName>string</LastName>
<FirstName>string</FirstName>
<Gender>string</Gender>
<DOB>string</DOB>
<Zip>string</Zip>
<Phone>string</Phone>
<SSN>string</SSN>
<City>string</City>
<State>string</State>
<DateOfServiceRange/>
<PatientConsent>string</PatientConsent>
</Member>
</Members>
</EnrollmentRequest>
我尝试使用
FOR XML PATH('Member'),
ROOT('EnrollmentRequest')
但是我无法获得'Members'元素,我的理解是不能有多个根,因此我如何才能使'Members'标签像“ EnrollmentRequest”标签一样起作用以及如何获得供应商ID标签仅在文件中出现一次?
您需要为您的会员信息使用子选择-像这样:
SELECT
'abc' AS 'Vendor/@Id',
(SELECT
m.ID,
m.LastName,
m.FirstName,
m.ZIP,
m.City
FROM
dbo.YourMembersTable m
FOR XML PATH('Member'), TYPE) AS 'Members'
FOR XML PATH(''), ROOT('EnrollmentRequest')
这将枚举所有成员,在<Member>
元素中输出每个成员,然后将其“包装”到<EnrollmentRequest>
根元素内的<EnrollmentRequest>
<Members>
元素中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.