-
group_concat aus mysql für db2?
Hallo zusammen,
kennt jemand von euch für diese Funktion (group_concat aus mysql) einen Äquivalent auf der AS400/db2?
So sind Daten bei einer Tabelle gespeichert:
ArtNr SuchBegriff
1000 Wandfarbe
1000 Dispersion
2000 Lack
2000 Kunstharz
und das möchte ich raushaben:
1000 Wandfarbe, Dispersion
2000 Lack, Kunstharz
Scheint nicht ganz so einfach zu sein.
so long und Danke im Voraus.
Daniel
-
Für diese Funktion gibt es kein Äquivalent für die DB2.
Da musst Du Dir schon Deine eigene Funktion basteln.
Birgitta
-
Ab 7.1 könnte man sich eventuell noch mit connect by ein Select zusammen basteln, aber das wäre den Aufwand nicht wert.
Am besten eine Funktion schreiben die das macht.
-
Die hierachischen Query-Anweisungen bzw. die Funktion SYS_CONNECT_BY_PATH werden allerdings anders verwendet.
Sich eine kleine Funktion zu schreiben ist ja auch kein Hexenwerk.
Beispiel:
Code:
CREATE FUNCTION MySchema/MyFkt (
ParArtNr Dec(11, 0) )
RETURNS VARCHAR(1024)
LANGUAGE SQL
NOT DETERMINISTIC
READS SQL DATA
BEGIN
DECLARE RETURNVAL VARCHAR ( 1024 ) DEFAULT ' ' ;
FOR CSRC1 AS C1 CURSOR
FOR SELECT LiefNr
FROM Table1
WHERE ARTNR = ParArtNr
DO SET RETURNVAL = RETURNVAL CONCAT ' ' CONCAT CSRC1.LiefNr;
END FOR ;
RETURN LTRIM(RETURNVAL);
END ;
Aufruf:
Code:
Select Distinct ArtNr, MyFkt(ArtNr)
From Table1;
Birgitta
-
with recursive rpl (artnr, suchb)
as (select a.artnr, a.suchb from myfile a
union all
select rpl.artnr, rpl.suchb
concat ', ' concat b.suchb
from rpl, myfile b
where rpl.art=b.art and rpl.art<>b.art
)
select * from rpl
-
Wow
Auch wenn ich das Problem in der Form nicht habe ...
Sehr interessante Lösungen!
wieder was gelernt,
Danke
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Die Lösung ist nicht ganz vollständig, man muss das Ergebnis schon noch zusätzlich auswerten, ggf. die Tiefe der Abfrage (Recursion) beschränken usw.
Funktioniert hat die Abfrage bei mir über genau 2 Ebenen, eine dritte habe ich nicht hinbekommen.
Ich habe auch versucht, per
select artnr, max(suchb) from rpl
group by artnr
das Ergebnis zu verbessern.
Nach angezeigten ca. 15.000.000 Zugriffen bei einer Tabelle mit ca. 300 Sätzen.
Similar Threads
-
By rr2001 in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 02-03-11, 14:34
-
By Azaron in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 05-12-06, 13:42
-
By mlitters in forum Archiv NEWSboard Events
Antworten: 0
Letzter Beitrag: 11-10-06, 16:52
-
By bluesXplosion in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 03-08-06, 09:52
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks