我需要从Universe数据库生成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>
这可能吗?
谢谢,
答案 0 :(得分: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 :(得分:0)
您的SELECT可能如下所示
SELECT filename WITH fieldname LIKE ... something ... AND WHEN mvfieldname = somethingelse
WITH子句将处理多值字段中单值字段和子值的WHEN子句