Hallo Zusammen,
habe folgendes Problem und komme da nicht drauf.
Ich versuche ähnlich wie in u.a. Beispiel Zeilen in eine Spalte zu bringen.
Nun hätte ich es aber gerne so, dass nur die Werte aus der Spalte in eine Zeile kommen, wenn Test und BPNR identisch bleiben. Test und BPNR sollen in einzelnen Spalten verbleiben, der Staus in einer.
U.a. soll Euch nur das Tippen abnehmen
Vielen Dank, schon mal
Viele Grüße
Martin
habe folgendes Problem und komme da nicht drauf.
Ich versuche ähnlich wie in u.a. Beispiel Zeilen in eine Spalte zu bringen.
HTML Code:
WITH data AS ( SELECT '2' bpnr, '13' status FROM DUAL UNION ALL SELECT'1' ,'10'FROM DUAL UNION ALL SELECT'1', '11'FROM DUAL UNION ALL SELECT'1' , '12'FROM DUAL UNION ALL SELECT'2' , '10'FROM DUAL UNION ALL SELECT'3' , '10'FROM DUAL UNION ALL SELECT'4 ' , '11 'FROM DUAL ) SELECT bpnr, SUBSTR(SYS_CONNECT_BY_PATH(status, ','),2) status FROM (SELECT status, bpnr, COUNT(*) OVER ( partition BY bpnr ) cnt, ROW_NUMBER () OVER ( partition BY bpnr order by status) seq FROM data WHERE bpnr IS NOT NULL ) WHERE seq =cnt START WITH seq =1 CONNECT BY prior seq+1=seq AND prior bpnr =bpnr;
Nun hätte ich es aber gerne so, dass nur die Werte aus der Spalte in eine Zeile kommen, wenn Test und BPNR identisch bleiben. Test und BPNR sollen in einzelnen Spalten verbleiben, der Staus in einer.
U.a. soll Euch nur das Tippen abnehmen
Code:
WITH data AS ( SELECT '2' bpnr, '13' status, '13' test FROM DUAL UNION ALL SELECT'1' ,'10', '13'FROM DUAL UNION ALL SELECT'1', '11', '12' FROM DUAL UNION ALL SELECT'1' , '12', '13' FROM DUAL UNION ALL SELECT'2' , '10' , '13'FROM DUAL UNION ALL SELECT'3' , '10', '13'FROM DUAL UNION ALL SELECT'4 ' , '11','10'FROM DUAL )
Viele Grüße
Martin
Comment