[DB2 for z/OS, V10 NFM] SQL

Ruediger Kurtz

[DB2 for z/OS, V10 NFM] SQL
Hi all,

today a programmer addressed me with the following task:

Given I got a 2-column-table with data like

col_1 col_2
A 1
A 2
A 3
B 1
C 1
C 2
D 1
D 5


you get the drift.

Now the desired output should like
A,1,2,3
B,1
C,1,2
D,1,5


any ideas how to solve that one with SQL-means?

Thanks a lot in advance

Ruediger




Rüdiger Kurtz
Abteilung Informatik Betrieb

HUK-COBURG
Bahnhofsplatz
96444 Coburg
Telefon: 09561 96-44171
Telefax: 09561 96-44104
E-Mail: [login to unmask email]
Internet: www.huk.de

________________________________
HUK-COBURG Haftpflicht-Unterstützungs-Kasse kraftfahrender Beamter Deutschlands a. G. in Coburg
Reg.-Gericht Coburg HRB 100; St.-Nr. 9212/101/00021
Sitz der Gesellschaft: Bahnhofsplatz, 96444 Coburg
Vorsitzender des Aufsichtsrats: Werner Strohmayr.
Vorstand: Dr. Wolfgang Weiler (Sprecher), Wolfgang Flaßhoff, Stefan Gronbach, Klaus-Jürgen Heitmann, Dr. Hans Olav Herøy, Jörn Sandig.
________________________________
Diese Nachricht enthält vertrauliche und/oder rechtlich geschützte Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese Nachricht irrtümlich erhalten haben,
informieren Sie bitte sofort den Absender und vernichten Sie diese Nachricht.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Nachricht ist nicht gestattet.

This information may contain confidential and/or privileged information.
If you are not the intended recipient (or have received this information in error) please notify the
sender immediately and destroy this information.
Any unauthorized copying, disclosure or distribution of the material in this information is strictly forbidden.
________________________________


Roy Boxwell

[DB2 for z/OS, V10 NFM] SQL
(in response to Ruediger Kurtz)
Hi Rüdiger!

Walter Janissen wrote a recursive SQL that does this a while ago…do a search on him (Perhaps also “recursive”) in the archives and you should get a hit!

Roy Boxwell

SOFTWARE ENGINEERING GMBH and SEGUS Inc.
-Product Development-

Robert-Stolz-Straße 5
40470 Düsseldorf/Germany
Tel. +49 (0)211 96149-675
Fax +49 (0)211 96149-32
Email: [login to unmask email]<mailto:[login to unmask email]>
http://www.seg.de

Software Engineering GmbH
Amtsgericht Düsseldorf, HRB 37894
Geschäftsführung: Gerhard Schubert

From: Kurtz, Rüdiger [mailto:[login to unmask email]
Sent: Monday, April 02, 2012 11:49 AM
To: '[login to unmask email]'
Subject: [DB2-L] - [DB2 for z/OS, V10 NFM] SQL

Hi all,

today a programmer addressed me with the following task:

Given I got a 2-column-table with data like

col_1 col_2
A 1
A 2
A 3
B 1
C 1
C 2
D 1
D 5


you get the drift.

Now the desired output should like
A,1,2,3
B,1
C,1,2
D,1,5


any ideas how to solve that one with SQL-means?

Thanks a lot in advance

Ruediger


Rüdiger Kurtz
Abteilung Informatik Betrieb

HUK-COBURG
Bahnhofsplatz
96444 Coburg
Telefon: 09561 96-44171
Telefax: 09561 96-44104
E-Mail: [login to unmask email]<mailto:[login to unmask email]>
Internet: www.huk.de<http://www.huk.de>

________________________________
HUK-COBURG Haftpflicht-Unterstützungs-Kasse kraftfahrender Beamter Deutschlands a. G. in Coburg
Reg.-Gericht Coburg HRB 100; St.-Nr. 9212/101/00021
Sitz der Gesellschaft: Bahnhofsplatz, 96444 Coburg
Vorsitzender des Aufsichtsrats: Werner Strohmayr.
Vorstand: Dr. Wolfgang Weiler (Sprecher), Wolfgang Flaßhoff, Stefan Gronbach, Klaus-Jürgen Heitmann, Dr. Hans Olav Herøy, Jörn Sandig.
________________________________
Diese Nachricht enthält vertrauliche und/oder rechtlich geschützte Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese Nachricht irrtümlich erhalten haben,
informieren Sie bitte sofort den Absender und vernichten Sie diese Nachricht.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Nachricht ist nicht gestattet.

This information may contain confidential and/or privileged information.
If you are not the intended recipient (or have received this information in error) please notify the
sender immediately and destroy this information.
Any unauthorized copying, disclosure or distribution of the material in this information is strictly forbidden.
________________________________


-----End Original Message-----

Ruediger Kurtz

AW: [DB2 for z/OS, V10 NFM] SQL
(in response to Roy Boxwell)
Cheers, will do so.

My attempts on writing an SQL myself failed miserably.

Regards

Ruediger




Rüdiger Kurtz
Abteilung Informatik Betrieb

HUK-COBURG
Bahnhofsplatz
96444 Coburg
Telefon: 09561 96-44171
Telefax: 09561 96-44104
E-Mail: [login to unmask email]
Internet: www.huk.de

________________________________
HUK-COBURG Haftpflicht-Unterstützungs-Kasse kraftfahrender Beamter Deutschlands a. G. in Coburg
Reg.-Gericht Coburg HRB 100; St.-Nr. 9212/101/00021
Sitz der Gesellschaft: Bahnhofsplatz, 96444 Coburg
Vorsitzender des Aufsichtsrats: Werner Strohmayr.
Vorstand: Dr. Wolfgang Weiler (Sprecher), Wolfgang Flaßhoff, Stefan Gronbach, Klaus-Jürgen Heitmann, Dr. Hans Olav Herøy, Jörn Sandig.
________________________________
Diese Nachricht enthält vertrauliche und/oder rechtlich geschützte Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese Nachricht irrtümlich erhalten haben,
informieren Sie bitte sofort den Absender und vernichten Sie diese Nachricht.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Nachricht ist nicht gestattet.

This information may contain confidential and/or privileged information.
If you are not the intended recipient (or have received this information in error) please notify the
sender immediately and destroy this information.
Any unauthorized copying, disclosure or distribution of the material in this information is strictly forbidden.
________________________________


Von: Boxwell, Roy [mailto:[login to unmask email]
Gesendet: Montag, 2. April 2012 11:51
An: [login to unmask email]
Betreff: [DB2-L] - RE: [DB2 for z/OS, V10 NFM] SQL

Hi Rüdiger!

Walter Janissen wrote a recursive SQL that does this a while ago…do a search on him (Perhaps also “recursive”) in the archives and you should get a hit!

Roy Boxwell

SOFTWARE ENGINEERING GMBH and SEGUS Inc.
-Product Development-

Robert-Stolz-Straße 5
40470 Düsseldorf/Germany
Tel. +49 (0)211 96149-675
Fax +49 (0)211 96149-32
Email: [login to unmask email]<mailto:[login to unmask email]>
http://www.seg.de

Software Engineering GmbH
Amtsgericht Düsseldorf, HRB 37894
Geschäftsführung: Gerhard Schubert

From: Kurtz, Rüdiger [mailto:[login to unmask email]
Sent: Monday, April 02, 2012 11:49 AM
To: '[login to unmask email]'
Subject: [DB2-L] - [DB2 for z/OS, V10 NFM] SQL

Hi all,

today a programmer addressed me with the following task:

Given I got a 2-column-table with data like

col_1 col_2
A 1
A 2
A 3
B 1
C 1
C 2
D 1
D 5


you get the drift.

Now the desired output should like
A,1,2,3
B,1
C,1,2
D,1,5


any ideas how to solve that one with SQL-means?

Thanks a lot in advance

Ruediger


Rüdiger Kurtz
Abteilung Informatik Betrieb

HUK-COBURG
Bahnhofsplatz
96444 Coburg
Telefon: 09561 96-44171
Telefax: 09561 96-44104
E-Mail: [login to unmask email]<mailto:[login to unmask email]>
Internet: www.huk.de<http://www.huk.de>

________________________________
HUK-COBURG Haftpflicht-Unterstützungs-Kasse kraftfahrender Beamter Deutschlands a. G. in Coburg
Reg.-Gericht Coburg HRB 100; St.-Nr. 9212/101/00021
Sitz der Gesellschaft: Bahnhofsplatz, 96444 Coburg
Vorsitzender des Aufsichtsrats: Werner Strohmayr.
Vorstand: Dr. Wolfgang Weiler (Sprecher), Wolfgang Flaßhoff, Stefan Gronbach, Klaus-Jürgen Heitmann, Dr. Hans Olav Herøy, Jörn Sandig.
________________________________
Diese Nachricht enthält vertrauliche und/oder rechtlich geschützte Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese Nachricht irrtümlich erhalten haben,
informieren Sie bitte sofort den Absender und vernichten Sie diese Nachricht.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Nachricht ist nicht gestattet.

This information may contain confidential and/or privileged information.
If you are not the intended recipient (or have received this information in error) please notify the
sender immediately and destroy this information.
Any unauthorized copying, disclosure or distribution of the material in this information is strictly forbidden.
________________________________


-----End Original Message-----

-----End Original Message-----

Roy Boxwell

[DB2 for z/OS, V10 NFM] SQL
(in response to Ruediger Kurtz)
Here’s a version


And now something new from the List Serv (again slightly changed)

One of the posters posted this request:



Given a table A1:

Number Asset

1 AAAA

1 BBBB

1 CCCC

2 DDDD

2 EEEE



The result should be:

1 AAAA,BBBB,CCCC

2 DDDD,EEEE



“Does that work? I am not sure, if recursive SQL will do it.”



A short time later the same poster posted this extremely elegant piece of SQL code



WITH S (LEVEL, NUMBER, ASSET, ASSET_LIST) AS

(SELECT 1 , A1.NUMBER, MIN(A1.ASSET) AS ASSET,

MIN(A1.ASSET CONCAT SPACE(3000)) AS ASSET_LIST

FROM A1

GROUP BY A1.NUMBER

UNION ALL

SELECT LEVEL + 1 , S.NUMBER, A1.ASSET,

STRIP(S.ASSET_LIST) CONCAT ',' CONCAT A1.ASSET

FROM S

INNER JOIN TABLE

(SELECT A1.NUMBER, MIN(A1.ASSET) AS ASSET

FROM A1

WHERE S.NUMBER = A1.NUMBER

AND S.ASSET < A1.ASSET

GROUP BY A1.NUMBER

) AS A1

ON S.NUMBER = A1.NUMBER

)

SELECT S.NUMBER, MAX(S.ASSET_LIST) AS LIST

FROM S

GROUP BY S.NUMBER

;

Thanks again Walter!



Roy Boxwell

SOFTWARE ENGINEERING GMBH and SEGUS Inc.
-Product Development-

Robert-Stolz-Straße 5
40470 Düsseldorf/Germany
Tel. +49 (0)211 96149-675
Fax +49 (0)211 96149-32
Email: [login to unmask email]<mailto:[login to unmask email]>
http://www.seg.de

Software Engineering GmbH
Amtsgericht Düsseldorf, HRB 37894
Geschäftsführung: Gerhard Schubert

From: Kurtz, Rüdiger [mailto:[login to unmask email]
Sent: Monday, April 02, 2012 11:53 AM
To: '[login to unmask email]'
Subject: [DB2-L] - AW: [DB2 for z/OS, V10 NFM] SQL

Cheers, will do so.

My attempts on writing an SQL myself failed miserably.

Regards

Ruediger



Rüdiger Kurtz
Abteilung Informatik Betrieb

HUK-COBURG
Bahnhofsplatz
96444 Coburg
Telefon: 09561 96-44171
Telefax: 09561 96-44104
E-Mail: [login to unmask email]<mailto:[login to unmask email]>
Internet: www.huk.de<http://www.huk.de>

________________________________
HUK-COBURG Haftpflicht-Unterstützungs-Kasse kraftfahrender Beamter Deutschlands a. G. in Coburg
Reg.-Gericht Coburg HRB 100; St.-Nr. 9212/101/00021
Sitz der Gesellschaft: Bahnhofsplatz, 96444 Coburg
Vorsitzender des Aufsichtsrats: Werner Strohmayr.
Vorstand: Dr. Wolfgang Weiler (Sprecher), Wolfgang Flaßhoff, Stefan Gronbach, Klaus-Jürgen Heitmann, Dr. Hans Olav Herøy, Jörn Sandig.
________________________________
Diese Nachricht enthält vertrauliche und/oder rechtlich geschützte Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese Nachricht irrtümlich erhalten haben,
informieren Sie bitte sofort den Absender und vernichten Sie diese Nachricht.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Nachricht ist nicht gestattet.

This information may contain confidential and/or privileged information.
If you are not the intended recipient (or have received this information in error) please notify the
sender immediately and destroy this information.
Any unauthorized copying, disclosure or distribution of the material in this information is strictly forbidden.
________________________________

Von: Boxwell, Roy [mailto:[login to unmask email]<mailto:[mailto:[login to unmask email]>
Gesendet: Montag, 2. April 2012 11:51
An: [login to unmask email]<mailto:[login to unmask email]>
Betreff: [DB2-L] - RE: [DB2 for z/OS, V10 NFM] SQL

Hi Rüdiger!

Walter Janissen wrote a recursive SQL that does this a while ago…do a search on him (Perhaps also “recursive”) in the archives and you should get a hit!

Roy Boxwell

SOFTWARE ENGINEERING GMBH and SEGUS Inc.
-Product Development-

Robert-Stolz-Straße 5
40470 Düsseldorf/Germany
Tel. +49 (0)211 96149-675
Fax +49 (0)211 96149-32
Email: [login to unmask email]<mailto:[login to unmask email]>
http://www.seg.de

Software Engineering GmbH
Amtsgericht Düsseldorf, HRB 37894
Geschäftsführung: Gerhard Schubert

From: Kurtz, Rüdiger [mailto:[login to unmask email]
Sent: Monday, April 02, 2012 11:49 AM
To: '[login to unmask email]'
Subject: [DB2-L] - [DB2 for z/OS, V10 NFM] SQL

Hi all,

today a programmer addressed me with the following task:

Given I got a 2-column-table with data like

col_1 col_2
A 1
A 2
A 3
B 1
C 1
C 2
D 1
D 5


you get the drift.

Now the desired output should like
A,1,2,3
B,1
C,1,2
D,1,5


any ideas how to solve that one with SQL-means?

Thanks a lot in advance

Ruediger


Rüdiger Kurtz
Abteilung Informatik Betrieb

HUK-COBURG
Bahnhofsplatz
96444 Coburg
Telefon: 09561 96-44171
Telefax: 09561 96-44104
E-Mail: [login to unmask email]<mailto:[login to unmask email]>
Internet: www.huk.de<http://www.huk.de>

________________________________
HUK-COBURG Haftpflicht-Unterstützungs-Kasse kraftfahrender Beamter Deutschlands a. G. in Coburg
Reg.-Gericht Coburg HRB 100; St.-Nr. 9212/101/00021
Sitz der Gesellschaft: Bahnhofsplatz, 96444 Coburg
Vorsitzender des Aufsichtsrats: Werner Strohmayr.
Vorstand: Dr. Wolfgang Weiler (Sprecher), Wolfgang Flaßhoff, Stefan Gronbach, Klaus-Jürgen Heitmann, Dr. Hans Olav Herøy, Jörn Sandig.
________________________________
Diese Nachricht enthält vertrauliche und/oder rechtlich geschützte Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese Nachricht irrtümlich erhalten haben,
informieren Sie bitte sofort den Absender und vernichten Sie diese Nachricht.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Nachricht ist nicht gestattet.

This information may contain confidential and/or privileged information.
If you are not the intended recipient (or have received this information in error) please notify the
sender immediately and destroy this information.
Any unauthorized copying, disclosure or distribution of the material in this information is strictly forbidden.
________________________________


-----End Original Message-----

-----End Original Message-----

-----End Original Message-----

Walter Jani&#223;en

AW: [DB2 for z/OS, V10 NFM] SQL
(in response to Roy Boxwell)
Too much of honour!

Mit freundlichen Grüßen
Walter Janißen

ITERGO Informationstechnologie GmbH
Anwendungsentwicklung
Technische Anwendungsarchitektur
Victoriaplatz 2
D-40198 Düsseldorf
[login to unmask email]<mailto:[login to unmask email]>

ITERGO Informationstechnologie GmbH
Vorsitzender des Aufsichtsrats: Christian Diedrich
Geschäftsführung: Dr. Bettina Anders (Vorsitzende),
Lothar Engelke, Ina Kirchhof, Dr. Christian Nymphius, Dr. Michael Regauer
Sitz: Düsseldorf, Handelsregister: Amtsgericht Düsseldorf HRB 37996



________________________________
Von: Boxwell, Roy [mailto:[login to unmask email]
Gesendet: Montag, 2. April 2012 12:14
An: [login to unmask email]
Betreff: [DB2-L] - RE: [DB2 for z/OS, V10 NFM] SQL

Here's a version


And now something new from the List Serv (again slightly changed)

One of the posters posted this request:



Given a table A1:

Number Asset

1 AAAA

1 BBBB

1 CCCC

2 DDDD

2 EEEE



The result should be:

1 AAAA,BBBB,CCCC

2 DDDD,EEEE



"Does that work? I am not sure, if recursive SQL will do it."



A short time later the same poster posted this extremely elegant piece of SQL code



WITH S (LEVEL, NUMBER, ASSET, ASSET_LIST) AS

(SELECT 1 , A1.NUMBER, MIN(A1.ASSET) AS ASSET,

MIN(A1.ASSET CONCAT SPACE(3000)) AS ASSET_LIST

FROM A1

GROUP BY A1.NUMBER

UNION ALL

SELECT LEVEL + 1 , S.NUMBER, A1.ASSET,

STRIP(S.ASSET_LIST) CONCAT ',' CONCAT A1.ASSET

FROM S

INNER JOIN TABLE

(SELECT A1.NUMBER, MIN(A1.ASSET) AS ASSET

FROM A1

WHERE S.NUMBER = A1.NUMBER

AND S.ASSET < A1.ASSET

GROUP BY A1.NUMBER

) AS A1

ON S.NUMBER = A1.NUMBER

)

SELECT S.NUMBER, MAX(S.ASSET_LIST) AS LIST

FROM S

GROUP BY S.NUMBER

;

Thanks again Walter!



Roy Boxwell

SOFTWARE ENGINEERING GMBH and SEGUS Inc.
-Product Development-

Robert-Stolz-Straße 5
40470 Düsseldorf/Germany
Tel. +49 (0)211 96149-675
Fax +49 (0)211 96149-32
Email: [login to unmask email]<mailto:[login to unmask email]>
http://www.seg.de

Software Engineering GmbH
Amtsgericht Düsseldorf, HRB 37894
Geschäftsführung: Gerhard Schubert

From: Kurtz, Rüdiger [mailto:[login to unmask email]
Sent: Monday, April 02, 2012 11:53 AM
To: '[login to unmask email]'
Subject: [DB2-L] - AW: [DB2 for z/OS, V10 NFM] SQL

Cheers, will do so.

My attempts on writing an SQL myself failed miserably.

Regards

Ruediger



Rüdiger Kurtz
Abteilung Informatik Betrieb

HUK-COBURG
Bahnhofsplatz
96444 Coburg
Telefon: 09561 96-44171
Telefax: 09561 96-44104
E-Mail: [login to unmask email]<mailto:[login to unmask email]>
Internet: www.huk.de<http://www.huk.de>

________________________________
HUK-COBURG Haftpflicht-Unterstützungs-Kasse kraftfahrender Beamter Deutschlands a. G. in Coburg
Reg.-Gericht Coburg HRB 100; St.-Nr. 9212/101/00021
Sitz der Gesellschaft: Bahnhofsplatz, 96444 Coburg
Vorsitzender des Aufsichtsrats: Werner Strohmayr.
Vorstand: Dr. Wolfgang Weiler (Sprecher), Wolfgang Flaßhoff, Stefan Gronbach, Klaus-Jürgen Heitmann, Dr. Hans Olav Herøy, Jörn Sandig.
________________________________
Diese Nachricht enthält vertrauliche und/oder rechtlich geschützte Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese Nachricht irrtümlich erhalten haben,
informieren Sie bitte sofort den Absender und vernichten Sie diese Nachricht.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Nachricht ist nicht gestattet.

This information may contain confidential and/or privileged information.
If you are not the intended recipient (or have received this information in error) please notify the
sender immediately and destroy this information.
Any unauthorized copying, disclosure or distribution of the material in this information is strictly forbidden.
________________________________

Von: Boxwell, Roy [mailto:[login to unmask email]<mailto:[mailto:[login to unmask email]>
Gesendet: Montag, 2. April 2012 11:51
An: [login to unmask email]<mailto:[login to unmask email]>
Betreff: [DB2-L] - RE: [DB2 for z/OS, V10 NFM] SQL

Hi Rüdiger!

Walter Janissen wrote a recursive SQL that does this a while ago...do a search on him (Perhaps also "recursive") in the archives and you should get a hit!

Roy Boxwell

SOFTWARE ENGINEERING GMBH and SEGUS Inc.
-Product Development-

Robert-Stolz-Straße 5
40470 Düsseldorf/Germany
Tel. +49 (0)211 96149-675
Fax +49 (0)211 96149-32
Email: [login to unmask email]<mailto:[login to unmask email]>
http://www.seg.de

Software Engineering GmbH
Amtsgericht Düsseldorf, HRB 37894
Geschäftsführung: Gerhard Schubert

From: Kurtz, Rüdiger [mailto:[login to unmask email]
Sent: Monday, April 02, 2012 11:49 AM
To: '[login to unmask email]'
Subject: [DB2-L] - [DB2 for z/OS, V10 NFM] SQL

Hi all,

today a programmer addressed me with the following task:

Given I got a 2-column-table with data like

col_1 col_2
A 1
A 2
A 3
B 1
C 1
C 2
D 1
D 5

...
you get the drift.

Now the desired output should like
A,1,2,3
B,1
C,1,2
D,1,5
...

any ideas how to solve that one with SQL-means?

Thanks a lot in advance

Ruediger


Rüdiger Kurtz
Abteilung Informatik Betrieb

HUK-COBURG
Bahnhofsplatz
96444 Coburg
Telefon: 09561 96-44171
Telefax: 09561 96-44104
E-Mail: [login to unmask email]<mailto:[login to unmask email]>
Internet: www.huk.de<http://www.huk.de>

________________________________
HUK-COBURG Haftpflicht-Unterstützungs-Kasse kraftfahrender Beamter Deutschlands a. G. in Coburg
Reg.-Gericht Coburg HRB 100; St.-Nr. 9212/101/00021
Sitz der Gesellschaft: Bahnhofsplatz, 96444 Coburg
Vorsitzender des Aufsichtsrats: Werner Strohmayr.
Vorstand: Dr. Wolfgang Weiler (Sprecher), Wolfgang Flaßhoff, Stefan Gronbach, Klaus-Jürgen Heitmann, Dr. Hans Olav Herøy, Jörn Sandig.
________________________________
Diese Nachricht enthält vertrauliche und/oder rechtlich geschützte Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese Nachricht irrtümlich erhalten haben,
informieren Sie bitte sofort den Absender und vernichten Sie diese Nachricht.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Nachricht ist nicht gestattet.

This information may contain confidential and/or privileged information.
If you are not the intended recipient (or have received this information in error) please notify the
sender immediately and destroy this information.
Any unauthorized copying, disclosure or distribution of the material in this information is strictly forbidden.
________________________________


-----End Original Message-----

-----End Original Message-----

-----End Original Message-----

-----End Original Message-----

Ruediger Kurtz

AW: [DB2 for z/OS, V10 NFM] SQL
(in response to Walter Janißen)
Well, if only I could get it to work ….




Rüdiger Kurtz
Abteilung Informatik Betrieb

HUK-COBURG
Bahnhofsplatz
96444 Coburg
Telefon: 09561 96-44171
Telefax: 09561 96-44104
E-Mail: [login to unmask email]
Internet: www.huk.de

________________________________
HUK-COBURG Haftpflicht-Unterstützungs-Kasse kraftfahrender Beamter Deutschlands a. G. in Coburg
Reg.-Gericht Coburg HRB 100; St.-Nr. 9212/101/00021
Sitz der Gesellschaft: Bahnhofsplatz, 96444 Coburg
Vorsitzender des Aufsichtsrats: Werner Strohmayr.
Vorstand: Dr. Wolfgang Weiler (Sprecher), Wolfgang Flaßhoff, Stefan Gronbach, Klaus-Jürgen Heitmann, Dr. Hans Olav Herøy, Jörn Sandig.
________________________________
Diese Nachricht enthält vertrauliche und/oder rechtlich geschützte Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese Nachricht irrtümlich erhalten haben,
informieren Sie bitte sofort den Absender und vernichten Sie diese Nachricht.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Nachricht ist nicht gestattet.

This information may contain confidential and/or privileged information.
If you are not the intended recipient (or have received this information in error) please notify the
sender immediately and destroy this information.
Any unauthorized copying, disclosure or distribution of the material in this information is strictly forbidden.
________________________________


Von: Walter Janißen [mailto:[login to unmask email]
Gesendet: Montag, 2. April 2012 12:57
An: [login to unmask email]
Betreff: [DB2-L] - AW: [DB2 for z/OS, V10 NFM] SQL

Too much of honour!

Mit freundlichen Grüßen
Walter Janißen

ITERGO Informationstechnologie GmbH
Anwendungsentwicklung
Technische Anwendungsarchitektur
Victoriaplatz 2
D-40198 Düsseldorf
[login to unmask email]<mailto:[login to unmask email]>

ITERGO Informationstechnologie GmbH
Vorsitzender des Aufsichtsrats: Christian Diedrich
Geschäftsführung: Dr. Bettina Anders (Vorsitzende),
Lothar Engelke, Ina Kirchhof, Dr. Christian Nymphius, Dr. Michael Regauer
Sitz: Düsseldorf, Handelsregister: Amtsgericht Düsseldorf HRB 37996


________________________________
Von: Boxwell, Roy [mailto:[login to unmask email]
Gesendet: Montag, 2. April 2012 12:14
An: [login to unmask email]<mailto:[login to unmask email]>
Betreff: [DB2-L] - RE: [DB2 for z/OS, V10 NFM] SQL
Here’s a version


And now something new from the List Serv (again slightly changed)

One of the posters posted this request:



Given a table A1:

Number Asset

1 AAAA

1 BBBB

1 CCCC

2 DDDD

2 EEEE



The result should be:

1 AAAA,BBBB,CCCC

2 DDDD,EEEE



“Does that work? I am not sure, if recursive SQL will do it.”



A short time later the same poster posted this extremely elegant piece of SQL code



WITH S (LEVEL, NUMBER, ASSET, ASSET_LIST) AS

(SELECT 1 , A1.NUMBER, MIN(A1.ASSET) AS ASSET,

MIN(A1.ASSET CONCAT SPACE(3000)) AS ASSET_LIST

FROM A1

GROUP BY A1.NUMBER

UNION ALL

SELECT LEVEL + 1 , S.NUMBER, A1.ASSET,

STRIP(S.ASSET_LIST) CONCAT ',' CONCAT A1.ASSET

FROM S

INNER JOIN TABLE

(SELECT A1.NUMBER, MIN(A1.ASSET) AS ASSET

FROM A1

WHERE S.NUMBER = A1.NUMBER

AND S.ASSET < A1.ASSET

GROUP BY A1.NUMBER

) AS A1

ON S.NUMBER = A1.NUMBER

)

SELECT S.NUMBER, MAX(S.ASSET_LIST) AS LIST

FROM S

GROUP BY S.NUMBER

;

Thanks again Walter!



Roy Boxwell

SOFTWARE ENGINEERING GMBH and SEGUS Inc.
-Product Development-

Robert-Stolz-Straße 5
40470 Düsseldorf/Germany
Tel. +49 (0)211 96149-675
Fax +49 (0)211 96149-32
Email: [login to unmask email]<mailto:[login to unmask email]>
http://www.seg.de

Software Engineering GmbH
Amtsgericht Düsseldorf, HRB 37894
Geschäftsführung: Gerhard Schubert

From: Kurtz, Rüdiger [mailto:[login to unmask email]
Sent: Monday, April 02, 2012 11:53 AM
To: '[login to unmask email]'
Subject: [DB2-L] - AW: [DB2 for z/OS, V10 NFM] SQL

Cheers, will do so.

My attempts on writing an SQL myself failed miserably.

Regards

Ruediger



Rüdiger Kurtz
Abteilung Informatik Betrieb

HUK-COBURG
Bahnhofsplatz
96444 Coburg
Telefon: 09561 96-44171
Telefax: 09561 96-44104
E-Mail: [login to unmask email]<mailto:[login to unmask email]>
Internet: www.huk.de<http://www.huk.de>

________________________________
HUK-COBURG Haftpflicht-Unterstützungs-Kasse kraftfahrender Beamter Deutschlands a. G. in Coburg
Reg.-Gericht Coburg HRB 100; St.-Nr. 9212/101/00021
Sitz der Gesellschaft: Bahnhofsplatz, 96444 Coburg
Vorsitzender des Aufsichtsrats: Werner Strohmayr.
Vorstand: Dr. Wolfgang Weiler (Sprecher), Wolfgang Flaßhoff, Stefan Gronbach, Klaus-Jürgen Heitmann, Dr. Hans Olav Herøy, Jörn Sandig.
________________________________
Diese Nachricht enthält vertrauliche und/oder rechtlich geschützte Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese Nachricht irrtümlich erhalten haben,
informieren Sie bitte sofort den Absender und vernichten Sie diese Nachricht.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Nachricht ist nicht gestattet.

This information may contain confidential and/or privileged information.
If you are not the intended recipient (or have received this information in error) please notify the
sender immediately and destroy this information.
Any unauthorized copying, disclosure or distribution of the material in this information is strictly forbidden.
________________________________

Von: Boxwell, Roy [mailto:[login to unmask email]<mailto:[mailto:[login to unmask email]>
Gesendet: Montag, 2. April 2012 11:51
An: [login to unmask email]<mailto:[login to unmask email]>
Betreff: [DB2-L] - RE: [DB2 for z/OS, V10 NFM] SQL

Hi Rüdiger!

Walter Janissen wrote a recursive SQL that does this a while ago…do a search on him (Perhaps also “recursive”) in the archives and you should get a hit!

Roy Boxwell

SOFTWARE ENGINEERING GMBH and SEGUS Inc.
-Product Development-

Robert-Stolz-Straße 5
40470 Düsseldorf/Germany
Tel. +49 (0)211 96149-675
Fax +49 (0)211 96149-32
Email: [login to unmask email]<mailto:[login to unmask email]>
http://www.seg.de

Software Engineering GmbH
Amtsgericht Düsseldorf, HRB 37894
Geschäftsführung: Gerhard Schubert

From: Kurtz, Rüdiger [mailto:[login to unmask email]
Sent: Monday, April 02, 2012 11:49 AM
To: '[login to unmask email]'
Subject: [DB2-L] - [DB2 for z/OS, V10 NFM] SQL

Hi all,

today a programmer addressed me with the following task:

Given I got a 2-column-table with data like

col_1 col_2
A 1
A 2
A 3
B 1
C 1
C 2
D 1
D 5


you get the drift.

Now the desired output should like
A,1,2,3
B,1
C,1,2
D,1,5


any ideas how to solve that one with SQL-means?

Thanks a lot in advance

Ruediger


Rüdiger Kurtz
Abteilung Informatik Betrieb

HUK-COBURG
Bahnhofsplatz
96444 Coburg
Telefon: 09561 96-44171
Telefax: 09561 96-44104
E-Mail: [login to unmask email]<mailto:[login to unmask email]>
Internet: www.huk.de<http://www.huk.de>

________________________________
HUK-COBURG Haftpflicht-Unterstützungs-Kasse kraftfahrender Beamter Deutschlands a. G. in Coburg
Reg.-Gericht Coburg HRB 100; St.-Nr. 9212/101/00021
Sitz der Gesellschaft: Bahnhofsplatz, 96444 Coburg
Vorsitzender des Aufsichtsrats: Werner Strohmayr.
Vorstand: Dr. Wolfgang Weiler (Sprecher), Wolfgang Flaßhoff, Stefan Gronbach, Klaus-Jürgen Heitmann, Dr. Hans Olav Herøy, Jörn Sandig.
________________________________
Diese Nachricht enthält vertrauliche und/oder rechtlich geschützte Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese Nachricht irrtümlich erhalten haben,
informieren Sie bitte sofort den Absender und vernichten Sie diese Nachricht.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Nachricht ist nicht gestattet.

This information may contain confidential and/or privileged information.
If you are not the intended recipient (or have received this information in error) please notify the
sender immediately and destroy this information.
Any unauthorized copying, disclosure or distribution of the material in this information is strictly forbidden.
________________________________


-----End Original Message-----

-----End Original Message-----

-----End Original Message-----

-----End Original Message-----

-----End Original Message-----

Ruediger Kurtz

AW: [DB2 for z/OS, V10 NFM] SQL
(in response to Walter Janißen)
Walter,

why? The sql works like a charm now that I finally got it to work … so honour to whom honour is due.

Regards

Ruediger




Rüdiger Kurtz
Abteilung Informatik Betrieb

HUK-COBURG
Bahnhofsplatz
96444 Coburg
Telefon: 09561 96-44171
Telefax: 09561 96-44104
E-Mail: [login to unmask email]
Internet: www.huk.de

________________________________
HUK-COBURG Haftpflicht-Unterstützungs-Kasse kraftfahrender Beamter Deutschlands a. G. in Coburg
Reg.-Gericht Coburg HRB 100; St.-Nr. 9212/101/00021
Sitz der Gesellschaft: Bahnhofsplatz, 96444 Coburg
Vorsitzender des Aufsichtsrats: Werner Strohmayr.
Vorstand: Dr. Wolfgang Weiler (Sprecher), Wolfgang Flaßhoff, Stefan Gronbach, Klaus-Jürgen Heitmann, Dr. Hans Olav Herøy, Jörn Sandig.
________________________________
Diese Nachricht enthält vertrauliche und/oder rechtlich geschützte Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese Nachricht irrtümlich erhalten haben,
informieren Sie bitte sofort den Absender und vernichten Sie diese Nachricht.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Nachricht ist nicht gestattet.

This information may contain confidential and/or privileged information.
If you are not the intended recipient (or have received this information in error) please notify the
sender immediately and destroy this information.
Any unauthorized copying, disclosure or distribution of the material in this information is strictly forbidden.
________________________________


Von: Walter Janißen [mailto:[login to unmask email]
Gesendet: Montag, 2. April 2012 12:57
An: [login to unmask email]
Betreff: [DB2-L] - AW: [DB2 for z/OS, V10 NFM] SQL

Too much of honour!

Mit freundlichen Grüßen
Walter Janißen

ITERGO Informationstechnologie GmbH
Anwendungsentwicklung
Technische Anwendungsarchitektur
Victoriaplatz 2
D-40198 Düsseldorf
[login to unmask email]<mailto:[login to unmask email]>

ITERGO Informationstechnologie GmbH
Vorsitzender des Aufsichtsrats: Christian Diedrich
Geschäftsführung: Dr. Bettina Anders (Vorsitzende),
Lothar Engelke, Ina Kirchhof, Dr. Christian Nymphius, Dr. Michael Regauer
Sitz: Düsseldorf, Handelsregister: Amtsgericht Düsseldorf HRB 37996


________________________________
Von: Boxwell, Roy [mailto:[login to unmask email]
Gesendet: Montag, 2. April 2012 12:14
An: [login to unmask email]<mailto:[login to unmask email]>
Betreff: [DB2-L] - RE: [DB2 for z/OS, V10 NFM] SQL
Here’s a version


And now something new from the List Serv (again slightly changed)

One of the posters posted this request:



Given a table A1:

Number Asset

1 AAAA

1 BBBB

1 CCCC

2 DDDD

2 EEEE



The result should be:

1 AAAA,BBBB,CCCC

2 DDDD,EEEE



“Does that work? I am not sure, if recursive SQL will do it.”



A short time later the same poster posted this extremely elegant piece of SQL code



WITH S (LEVEL, NUMBER, ASSET, ASSET_LIST) AS

(SELECT 1 , A1.NUMBER, MIN(A1.ASSET) AS ASSET,

MIN(A1.ASSET CONCAT SPACE(3000)) AS ASSET_LIST

FROM A1

GROUP BY A1.NUMBER

UNION ALL

SELECT LEVEL + 1 , S.NUMBER, A1.ASSET,

STRIP(S.ASSET_LIST) CONCAT ',' CONCAT A1.ASSET

FROM S

INNER JOIN TABLE

(SELECT A1.NUMBER, MIN(A1.ASSET) AS ASSET

FROM A1

WHERE S.NUMBER = A1.NUMBER

AND S.ASSET < A1.ASSET

GROUP BY A1.NUMBER

) AS A1

ON S.NUMBER = A1.NUMBER

)

SELECT S.NUMBER, MAX(S.ASSET_LIST) AS LIST

FROM S

GROUP BY S.NUMBER

;

Thanks again Walter!



Roy Boxwell

SOFTWARE ENGINEERING GMBH and SEGUS Inc.
-Product Development-

Robert-Stolz-Straße 5
40470 Düsseldorf/Germany
Tel. +49 (0)211 96149-675
Fax +49 (0)211 96149-32
Email: [login to unmask email]<mailto:[login to unmask email]>
http://www.seg.de

Software Engineering GmbH
Amtsgericht Düsseldorf, HRB 37894
Geschäftsführung: Gerhard Schubert

From: Kurtz, Rüdiger [mailto:[login to unmask email]
Sent: Monday, April 02, 2012 11:53 AM
To: '[login to unmask email]'
Subject: [DB2-L] - AW: [DB2 for z/OS, V10 NFM] SQL

Cheers, will do so.

My attempts on writing an SQL myself failed miserably.

Regards

Ruediger



Rüdiger Kurtz
Abteilung Informatik Betrieb

HUK-COBURG
Bahnhofsplatz
96444 Coburg
Telefon: 09561 96-44171
Telefax: 09561 96-44104
E-Mail: [login to unmask email]<mailto:[login to unmask email]>
Internet: www.huk.de<http://www.huk.de>

________________________________
HUK-COBURG Haftpflicht-Unterstützungs-Kasse kraftfahrender Beamter Deutschlands a. G. in Coburg
Reg.-Gericht Coburg HRB 100; St.-Nr. 9212/101/00021
Sitz der Gesellschaft: Bahnhofsplatz, 96444 Coburg
Vorsitzender des Aufsichtsrats: Werner Strohmayr.
Vorstand: Dr. Wolfgang Weiler (Sprecher), Wolfgang Flaßhoff, Stefan Gronbach, Klaus-Jürgen Heitmann, Dr. Hans Olav Herøy, Jörn Sandig.
________________________________
Diese Nachricht enthält vertrauliche und/oder rechtlich geschützte Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese Nachricht irrtümlich erhalten haben,
informieren Sie bitte sofort den Absender und vernichten Sie diese Nachricht.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Nachricht ist nicht gestattet.

This information may contain confidential and/or privileged information.
If you are not the intended recipient (or have received this information in error) please notify the
sender immediately and destroy this information.
Any unauthorized copying, disclosure or distribution of the material in this information is strictly forbidden.
________________________________

Von: Boxwell, Roy [mailto:[login to unmask email]<mailto:[mailto:[login to unmask email]>
Gesendet: Montag, 2. April 2012 11:51
An: [login to unmask email]<mailto:[login to unmask email]>
Betreff: [DB2-L] - RE: [DB2 for z/OS, V10 NFM] SQL

Hi Rüdiger!

Walter Janissen wrote a recursive SQL that does this a while ago…do a search on him (Perhaps also “recursive”) in the archives and you should get a hit!

Roy Boxwell

SOFTWARE ENGINEERING GMBH and SEGUS Inc.
-Product Development-

Robert-Stolz-Straße 5
40470 Düsseldorf/Germany
Tel. +49 (0)211 96149-675
Fax +49 (0)211 96149-32
Email: [login to unmask email]<mailto:[login to unmask email]>
http://www.seg.de

Software Engineering GmbH
Amtsgericht Düsseldorf, HRB 37894
Geschäftsführung: Gerhard Schubert

From: Kurtz, Rüdiger [mailto:[login to unmask email]
Sent: Monday, April 02, 2012 11:49 AM
To: '[login to unmask email]'
Subject: [DB2-L] - [DB2 for z/OS, V10 NFM] SQL

Hi all,

today a programmer addressed me with the following task:

Given I got a 2-column-table with data like

col_1 col_2
A 1
A 2
A 3
B 1
C 1
C 2
D 1
D 5


you get the drift.

Now the desired output should like
A,1,2,3
B,1
C,1,2
D,1,5


any ideas how to solve that one with SQL-means?

Thanks a lot in advance

Ruediger


Rüdiger Kurtz
Abteilung Informatik Betrieb

HUK-COBURG
Bahnhofsplatz
96444 Coburg
Telefon: 09561 96-44171
Telefax: 09561 96-44104
E-Mail: [login to unmask email]<mailto:[login to unmask email]>
Internet: www.huk.de<http://www.huk.de>

________________________________
HUK-COBURG Haftpflicht-Unterstützungs-Kasse kraftfahrender Beamter Deutschlands a. G. in Coburg
Reg.-Gericht Coburg HRB 100; St.-Nr. 9212/101/00021
Sitz der Gesellschaft: Bahnhofsplatz, 96444 Coburg
Vorsitzender des Aufsichtsrats: Werner Strohmayr.
Vorstand: Dr. Wolfgang Weiler (Sprecher), Wolfgang Flaßhoff, Stefan Gronbach, Klaus-Jürgen Heitmann, Dr. Hans Olav Herøy, Jörn Sandig.
________________________________
Diese Nachricht enthält vertrauliche und/oder rechtlich geschützte Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese Nachricht irrtümlich erhalten haben,
informieren Sie bitte sofort den Absender und vernichten Sie diese Nachricht.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Nachricht ist nicht gestattet.

This information may contain confidential and/or privileged information.
If you are not the intended recipient (or have received this information in error) please notify the
sender immediately and destroy this information.
Any unauthorized copying, disclosure or distribution of the material in this information is strictly forbidden.
________________________________


-----End Original Message-----

-----End Original Message-----

-----End Original Message-----

-----End Original Message-----

-----End Original Message-----