簡體   English   中英

SQL Server XML查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM