2013-05-13 6 views
1

메시지 브로커를 작성 중입니다. 그러나 내가하고있는 쿼리는 매우 간단하며 어떤 DB 녀석도 대답 할 수 있습니다. 여기 xml 트리에서 자식을 부모로 만드는 방법

XML과 점점 XML 출력을 읽을 수있는 쿼리 코드

SET OutputRoot.XMLNSC.root.row[rowCnt].product_Info = THE (SELECT THE(SELECT C.*:Codes.*:Code AS TyrePatternCd FROM T.*:Classification[] AS C 
        WHERE C.(XMLNSC.Attribute)Type = 'BRAND') AS product 
       FROM itemMaster.*:ItemMasterHeader[] AS T); 

이것은 내가

<root name="Product"> 
    <row> 
     <product_Info> 
     <TyrePatternCd>002</TyrePatternCd> 
    </row> 
    </root> 

처럼 만들 수있는 방법

<root name="Product"> 
<row> 
    <product_Info> 
    <product> 
    <TyrePatternCd>002</TyrePatternCd> 
    </product>  
</row> 
</root> 

같은 XML 출력을 제공 I 경우, 쿼리에서 AS product을 제거하면 column 태그가 트리에 생성됩니다. 자녀를 부모로 만들려면 어떻게해야합니까?

답변

1

'제품'요소를 생략하고 결과를 직접 지정하려면 SELECT ITEM을 사용하십시오.

SET OutputRoot.XMLNSC.root.row[rowCnt].product_Info = THE (SELECT ITEM THE(SELECT C.*:Codes.*:Code AS TyrePatternCd FROM T.*:Classification[] AS C 
        WHERE C.(XMLNSC.Attribute)Type = 'BRAND') 
       FROM itemMaster.*:ItemMasterHeader[] AS T);