Я хочу сгруппировать по «ноль: PosNo». Если я удалю групповые команды, он вернет результат, но, очевидно, он вернет это:
INSERT INTO RAPP_ADM.MTO_POS_IMP_TAB (PROJECT_NO, MTO_OWNER_NO, POS_NO, PART_NO, DESCRIPTION, QTY, UNIT, TOT_LEN, TOT_WEIGHT, DRAWING, GRADE, TRACE, BI_PRODUCT, SURFACE, CALC, DISCIPLINE, MADE_BY, POS_NO2, PLT_SEQ, OBJECT_SQ, OBJECT_REVISION)
VALUES ('6111', '26-0008-R552-MOD-01-M', '1','PIP03D1160', 'PIPE sch.160 ASTM A790 UNS S31', 2.000, 'M', 2.000, 42.700, 'C097-RWP-L-XN-0057-01', 'sch.160 ASTM A790 UNS S31', 'N', '26-0008-R552-MOD-01-1', 0.559, 'N', 'L', 'sindre.thompson', '', 721, '1556750', '1');
INSERT INTO RAPP_ADM.MTO_POS_IMP_TAB (PROJECT_NO, MTO_OWNER_NO, POS_NO, PART_NO, DESCRIPTION, QTY, UNIT, TOT_LEN, TOT_WEIGHT, DRAWING, GRADE, TRACE, BI_PRODUCT, SURFACE, CALC, DISCIPLINE, MADE_BY, POS_NO2, PLT_SEQ, OBJECT_SQ, OBJECT_REVISION) VALUES
('6111', '26-0008-R552-MOD-01-M', '1','PIP03D1160', 'PIPE sch.160 ASTM A790 UNS S31', 0.660, 'M', 0.660, 14.093, 'C097-RWP-L-XN-0057-01', 'sch.160 ASTM A790 UNS S31', 'N', '26-0008-R552-MOD-01-1', 0.184, 'N', 'L', 'sindre.thompson', '', 721, '1556750', '1');
xmlns:zero="rosenbergverft.com:3D/2011/Zero"
<xsl:output method="text" omit-xml-declaration="yes" standalone="no" media-type="text/plain"/>
<xsl:template match="/">
<xsl:for-each select="/zero:Zero/zero:MTOOwner/zero:DocumentNo/zero:BiProduct/zero:Part">
<xsl:for-each-group select="/" group-by="zero:POS_NO">
<xsl:sort select="zero:PosNo" />
INSERT INTO RAPP_ADM.MTO_POS_IMP_TAB (PROJECT_NO, MTO_OWNER_NO, POS_NO, PART_NO, DESCRIPTION, QTY, UNIT, TOT_LEN, TOT_WEIGHT, DRAWING, GRADE, TRACE, BI_PRODUCT, SURFACE, CALC, DISCIPLINE, MADE_BY, POS_NO2, PLT_SEQ, OBJECT_SQ, OBJECT_REVISION) VALUES ('
<xsl:value-of select="../../../../pdms:PDMSProject/pdms:ProjectNumber/@text" />',
'<xsl:value-of select="zero:MtoOwnerNo" />',
'<xsl:value-of select="zero:PosNo" />',
'<xsl:value-of select="zero:StockNo" />',
'<xsl:value-of select="zero:Description" />',
<xsl:choose>
<xsl:when test="zero:Quantity/@unit = 'mm2'"><xsl:value-of select="format-number(zero:Quantity/@number div 1000000, '#0.000')"/><xsl:text>, 'M2'</xsl:text></xsl:when>
<xsl:when test="zero:Quantity/@unit = 'mm'"><xsl:value-of select="format-number(zero:Quantity/@number div 1000, '#0.000')"/><xsl:text>, 'M'</xsl:text></xsl:when>
<xsl:when test="zero:Quantity/@unit = 'pcs'"><xsl:value-of select="format-number(zero:Quantity/@number, '#0')"/><xsl:text>, 'EA'</xsl:text></xsl:when>
<xsl:otherwise><xsl:value-of select="format-number(zero:Quantity/@number, '#0.000')"/><xsl:text>, ''</xsl:text></xsl:otherwise>
</xsl:choose>,
<xsl:value-of select="format-number(zero:TotalLength/@number div 1000, '#0.000')" />,
<xsl:value-of select="zero:TotalWeight/@number" />,
'<xsl:value-of select="zero:DocumentNo" />', '<xsl:value-of select="zero:Grade" />',
<xsl:choose>
<xsl:when test="zero:Traceable/@boolean = 'false'"><xsl:text>'N'</xsl:text></xsl:when>
<xsl:otherwise><xsl:text>'Y'</xsl:text></xsl:otherwise>
</xsl:choose>,
'<xsl:value-of select="zero:BiProduct" />',
<xsl:value-of select="format-number(zero:Surface/@number div 1000000, '#0.000')" />,
'<xsl:value-of select="zero:Calc" />', '<xsl:value-of select="zero:Discipline" />',
'<xsl:value-of select="zero:Designer" />', '<xsl:value-of select="zero:Name" />',
<xsl:value-of select="../../../zero:PlantSeq/@number" />, '<xsl:value-of select="../../../zero:ObjectSeq/@number" />',
'<xsl:value-of select="../../../zero:ObjectRev" />');
</xsl:for-each-group>
</xsl:for-each>
Вот чего я хочу добиться: я хочу, чтобы числа для PosNo 1 суммировались, чтобы он возвращал только одну вставку для PosNo 1, а не две. То же для Посно 2, 3 и т.д.
INSERT INTO RAPP_ADM.MTO_POS_IMP_TAB (PROJECT_NO, MTO_OWNER_NO, POS_NO, PART_NO, DESCRIPTION, QTY, UNIT, TOT_LEN, TOT_WEIGHT, DRAWING, GRADE, TRACE, BI_PRODUCT, SURFACE, CALC, DISCIPLINE, MADE_BY, POS_NO2, PLT_SEQ, OBJECT_SQ, OBJECT_REVISION) VALUES
('6111', '26-0008-R552-MOD-01-M', '1','PIP03D1160', 'PIPE sch.160 ASTM A790 UNS S31', 2.66, 'M', 2.66, 56.793, 'C097-RWP-L-XN-0057-01', 'sch.160 ASTM A790 UNS S31', 'N', '26-0008-R552-MOD-01-1', 0.559, 'N', 'L', 'sindre.thompson', '', 721, '1556750', '1');
Я не могу понять, что я делаю неправильно. Делаю ли я очевидные ошибки?