Per selbst gestrickter SQL-Function kann man die Teilenummer je Auftrag sortiert nebeneinanderstellen, dann kann man die exakt gleichen Zusammensetzungen schon mal mittels Group greifen.
"AA150002206", "TEIL1202450550, TEIL1202470550"
usw.
Hilft aber im ersten Schritt nur für exakt gleiche.
Leider ist im Beispiel noch ein Syntaxfehler, aber so in etwa haben wir vergleichbare Functions im Einsatz:
Code:
CREATE FUNCTION qtemp.buildTeileString ( P#AUFTRAG VARCHAR(11) )
RETURNS VARCHAR(200)
LANGUAGE SQL
SPECIFIC QTEMP.BUILDTEILESTRING
NOT DETERMINISTIC
READS SQL DATA
CALLED ON NULL INPUT
SET OPTION ALWBLK = *ALLREAD ,
ALWCPYDTA = *OPTIMIZE ,
COMMIT = *NONE ,
DECRESULT = (31, 31, 00) ,
DFTRDBCOL = *NONE ,
DYNDFTCOL = *NO ,
DYNUSRPRF = *USER ,
SRTSEQ = *HEX
BEGIN
DECLARE TEXT VARCHAR ( 200 ) ;
SET TEXT = NULL ;
FOR SELTEILE AS C1 CURSOR FOR
SELECT DISTINCT TEILENUMMER AS TEIL
FROM qtemp.a
WHERE AUFTRAG = P#AUFTRAG
order by TEILENUMMER
DO
IF TEXT IS NULL THEN
SET TEXT = TEIL ;
ELSE
SET TEXT = TEXT CONCAT ', ' CONCAT TEIL;
END IF ;
END FOR ;
RETURN TEXT ;
END ;
Bookmarks