Quantcast
Channel: FOR XML PATH hierarchy
Viewing all articles
Browse latest Browse all 3

FOR XML PATH hierarchy

$
0
0

Ok, I'm almost there.  What I have is generating the correct hierarchy but it's giving me a list instead of an individual record for each SERVICE_TYPE_CODE.  Here is my code and results:

 

Code Snippet

SELECT

ROW_NUMBER()OVER(ORDERBY VI_RECORD.VOUCHER_ID)AS'RECORD_SEQ_NO',

VI_RECORD

.GRANTEE_SOURCE_ID,

VI_RECORD

.ACTION,

VI_RECORD

.CLIENT_ID,

VI_RECORD

.GRANT_ID,

VI_RECORD

.VOUCHER_ID,

CONVERT(CHAR(10),VI_RECORD.VOUCHER_ISSUE_DATE,120)AS'VOUCHER_ISSUE_DATE',

CONVERT(CHAR(10),VI_RECORD.VOUCHER_CANCEL_DATE,120)AS'VOUCHER_CANCEL_DATE',

VI_RECORD

.VOUCHER_AMOUNT,

(SELECT VI_SERVICE.SERVICE_TYPE_CODE AS'data()'

FROM VI_SERVICE

WHERE VI_RECORD.VOUCHER_ID = VI_SERVICE.VOUCHER_ID

FORXMLPATH(''))AS'Services/Service/SERVICE_TYPE_CODE'

FROM

VI_RECORD

WHERE

VI_RECORD.Status ='Send'

FOR

XMLPATH('Record'),ROOT('Document')

 

/******************************************

* HERE ARE THE RESULTS

******************************************/

<

Document>

<

Record>

<

RECORD_SEQ_NO>1</RECORD_SEQ_NO>

<

GRANTEE_SOURCE_ID>4</GRANTEE_SOURCE_ID>

<

ACTION>Add</ACTION>

<

CLIENT_ID>187321018002278</CLIENT_ID>

<

GRANT_ID>TI19433</GRANT_ID>

<

VOUCHER_ID>200800000004</VOUCHER_ID>

<

VOUCHER_ISSUE_DATE>2008-03-04</VOUCHER_ISSUE_DATE>

<

VOUCHER_AMOUNT>5330.0000</VOUCHER_AMOUNT>

<Services>

<Service>

<SERVICE_TYPE_CODE>2070 2080 2090</SERVICE_TYPE_CODE>

</Service>

</Services>

</Record>

<Record>

<RECORD_SEQ_NO>2</RECORD_SEQ_NO>

<GRANTEE_SOURCE_ID>7</GRANTEE_SOURCE_ID>

<ACTION>Add</ACTION>

<CLIENT_ID>167528088003038</CLIENT_ID>

<GRANT_ID>TI19433</GRANT_ID>

<VOUCHER_ID>200800000007</VOUCHER_ID>

<VOUCHER_ISSUE_DATE>2008-03-04</VOUCHER_ISSUE_DATE>

<VOUCHER_AMOUNT>3600.0000</VOUCHER_AMOUNT>

<Services>

<Service>

<SERVICE_TYPE_CODE>2130</SERVICE_TYPE_CODE>

</Service>

</Services>

</Record>

</

Document>

 

However, this is what I need my output to look like for the SERVICE_TYPE_CODE:

 

<Document>

<Record>

<RECORD_SEQ_NO>1</RECORD_SEQ_NO>

<GRANTEE_SOURCE_ID>4</GRANTEE_SOURCE_ID>

<ACTION>Add</ACTION>

<CLIENT_ID>187321018002278</CLIENT_ID>

<GRANT_ID>TI19433</GRANT_ID>

<VOUCHER_ID>200800000004</VOUCHER_ID>

<VOUCHER_ISSUE_DATE>2008-03-04</VOUCHER_ISSUE_DATE>

<VOUCHER_AMOUNT>5330.0000</VOUCHER_AMOUNT>

<Services>

<Service>

<SERVICE_TYPE_CODE>2070</SERVICE_TYPE_CODE>

<SERVICE_TYPE_CODE>2080</SERVICE_TYPE_CODE>

<SERVICE_TYPE_CODE>2090</SERVICE_TYPE_CODE>

</Service>

</Services>

</Record>

<Record>

<RECORD_SEQ_NO>2</RECORD_SEQ_NO>

<GRANTEE_SOURCE_ID>7</GRANTEE_SOURCE_ID>

<ACTION>Add</ACTION>

<CLIENT_ID>167528088003038</CLIENT_ID>

<GRANT_ID>TI19433</GRANT_ID>

<VOUCHER_ID>200800000007</VOUCHER_ID>

<VOUCHER_ISSUE_DATE>2008-03-04</VOUCHER_ISSUE_DATE>

<VOUCHER_AMOUNT>3600.0000</VOUCHER_AMOUNT>

<Services>

<Service>

<SERVICE_TYPE_CODE>2130</SERVICE_TYPE_CODE>

</Service>

</Services>

</Record>

</

Document>

Viewing all articles
Browse latest Browse all 3

Latest Images

Trending Articles





Latest Images