1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
WITH t AS (
SELECT 1 id_wo_op, 1 id_wo, 10 seq FROM DUAL UNION ALL
SELECT 2 id_wo_op, 1 id_wo, 20 FROM DUAL UNION ALL
SELECT 3 id_wo_op, 1 id_wo, 30 FROM DUAL UNION ALL
SELECT 4 id_wo_op, 1 id_wo, 40 FROM DUAL)
, u AS(
SELECT id_wo, substr(sys_connect_by_path(seq, ', '), 2) res, seq
FROM t
CONNECT BY prior id_wo = id_wo AND prior id_wo_op = id_wo_op - 1)
SELECT u.*
FROM u
JOIN (SELECT id_wo, max(seq) seq
FROM t
GROUP BY id_wo) v ON u.id_wo = v.id_wo AND u.seq = v.seq
ORDER BY u.id_wo, res |
Partager