0

ユニバースデータベースからXMLドキュメントを作成する必要があります。これらのXMLファイルはSSISパッケージのソースです。したがって、最初にXMLファイルを作成する必要があります。そのために私は次のコマンドを使用しています。最初の1000リストのTOXML要素を選択します。1000レコードを返します。問題ありません。ここでいくつか質問があります。1。満たされているレコードのみを選択するための条件を指定するにはどうすればよいですか。「S%」のような名前の例(SQL Server)2.一部のフィールドには次のような複数の値があります

<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>

これは可能ですか?

ありがとう、

4

2 に答える 2

0

SELECT は次のようになります

SELECT filename with fieldname LIKE ...something... AND WHEN mvfieldname = somethingelse

WITH 句は単一値フィールドを処理し、WHEN 句は複数値フィールドのサブ値を処理します。

于 2012-04-26T11:46:25.410 に答える
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>

出力で必要なものを提供する1つの方法になりますが、ソースデータを修正する場合にのみ機能することを強調します(そして、それが自動的に生成された場合、それを生成したものは何でも)

于 2012-04-11T08:35:55.703 に答える