2012-04-11 84 views
0

我需要從Universe數據庫生成XML文檔。 這些XML文件是SSIS包的來源。所以首先我必須製作XML文件。 爲此,我正在使用以下命令。 SELECT FIRST 1000 LIST TOXML ELEMENTS 它正在返回1000個記錄,它很好。 我在這裏有一些問題, 1.我如何指定一個條件來選擇只有滿意的記錄 a。例子名稱,比如「S%」(SQL Server)的 2.有些領域有像從Universe數據庫生成XML文檔

<RECORD> 
<BRANCH>A</BRANCH> 
<SUB_BRANCH>A1</SUBBRANCH> 
<SUB_BRANCH>A2</SUBBRANCH> 
<SUB_BRANCH>A3</SUBBRANCH> 
</RECORD> 
<RECORD> 
<BRANCH>B</BRANCH> 
<SUB_BRANCH>B1</SUBBRANCH> 
<SUB_BRANCH>B2</SUBBRANCH> 
</RECORD> 
<RECORD> 
<BRANCH>C</BRANCH> 
<SUB_BRANCH>C1</SUBBRANCH> 
</RECORD> 

從這個多值我想基於使單獨的記錄

象下面這樣:

<RECORD> 
<BRANCH>A</BRANCH> 
<SUB_BRANCH>A1</SUBBRANCH> 
</RECORD> 
<BRANCH>A</BRANCH> 
<SUB_BRANCH>A2</SUBBRANCH> 
</RECORD> 
<BRANCH>A</BRANCH> 
<SUB_BRANCH>A3</SUBBRANCH> 
</RECORD> 
<RECORD> 
<BRANCH>B</BRANCH> 
<SUB_BRANCH>B1</SUBBRANCH> 
</RECORD> 
<BRANCH>B</BRANCH> 
<SUB_BRANCH>B2</SUBBRANCH> 
</RECORD> 
<RECORD> 
<BRANCH>C</BRANCH> 
<SUB_BRANCH>C1</SUBBRANCH> 
</RECORD> 

這可能嗎?

感謝,

回答

0

我不明白選擇的事情,所以只是講評XSL部分在這裏。 當涉及到處理時,您的源XML有幾個問題。首先你需要一個根元素來處理它。其次,您的SUB_BRANCH似乎與SUBBRANCH關閉(不帶下劃線),因此您的XML無效。 假設這些是固定的:

<xsl:template match="RECORD"> 
    <xsl:element name="RECORD"> 
    <xsl:for-each select=".//SUB_BRANCH"> 
     <xsl:element name="BRANCH"> 
      <xsl:value-of select="../*"/> 
     </xsl:element> 
     <xsl:element name="SUB_BRANCH"> 
      <xsl:value-of select="node()"/> 
     </xsl:element> 

    </xsl:for-each> 
     </xsl:element> 
</xsl:template> 

將是給你你想要在輸出什麼樣的一種方式,但我要強調,如果你解決您的源數據它只會工作(如果是自動生成的,產生的一切它)

0

你的SELECT可能看起來像這樣

與字段名LIKE ...一些SELECT ...名,當mvfieldname = somethingelse

WITH子句將採取單一值的護理領域的應用的d多值域中子值的WHEN子句