Merci
Je me suis lance dans l aventure avec succes maintenant, je voulais ajouter une collonne "CONTIENT UNE DATE A NULL", j y suis arriver avec la requete suivante
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
SELECT
min(id) id_debut, min(d) d_debut,
max(id) id_fin, max(d) d_fin,
decode(min(d) keep (dense_rank first order by d nulls first),null,'OUI','NON' ) contient_null
FROM
(
SELECT id, d,
decode(c,
0,decode(max(c) over (ORDER BY id DESC),
1,id-row_number() over (partition BY c ORDER BY id))) x
FROM t
)
WHERE x IS NOT NULL
GROUP BY x
ORDER BY 1; |
par contre ce qui m'etonne, c est que si je remplace
decode(min(d) keep (dense_rank first order by d nulls first),null,'OUI','NON' )
par
decode(first_value(d) over (order by d),null,'OUI','NON' )
je recoit une erreur
ORA-00979: not a GROUP BY expression
Je pensait pourtant avoir compris le mecanisme.
De plus lors de mes recherches pour cette requete , je suis tombé sur les clause MODEL et SPREADSHEET.
Ces clauses pourrait elle me permettre d'afficher sous un contient_null = OUI la liste des id qui ont la date a null.
Merci d'avance.
Partager