so_damn_insane ([info]so_damn_insane) rakstīja,
@ 2011-12-01 07:32:00

Previous Entry  Add to memories!  Tell a Friend!  Next Entry
atjautības uzdevums
Šādi atgriež 1 rindu

AND greatest (
case when sse.date_from is null then to_date('2011.10.01','yyyy.mm.dd') else null end
--,nvl(sse.date_from,to_date('2011.10.01','yyyy.mm.dd'))
,trunc(usv.date_from,'MM')
,to_date('2011.10.01','yyyy.mm.dd')
) <= vgl.gp_from

Šādi atgriež 0 rindas

AND greatest (
--case when sse.date_from is null then to_date('2011.10.01','yyyy.mm.dd') else null end
nvl(sse.date_from,to_date('2011.10.01','yyyy.mm.dd'))
,trunc(usv.date_from,'MM')
,to_date('2011.10.01','yyyy.mm.dd')
) <= vgl.gp_from

Edit: Arī šis atgriež 1 rindiņu

AND greatest (
case when sse.date_from is null then to_date('2011.10.01','yyyy.mm.dd') else sse.date_from end
--,nvl(sse.date_from,to_date('2011.10.01','yyyy.mm.dd'))
,trunc(usv.date_from,'MM')
,to_date('2011.10.01','yyyy.mm.dd')
) <= vgl.gp_from


(Ierakstīt jaunu komentāru)


[info]kruzulis
2011-12-01 11:53 (saite)
Vispārzināms fakts, ka IN, GREATEST un tamlīdzīgām nepatīk NULL.

(Atbildēt uz šo) (Diskusija)


[info]so_damn_insane
2011-12-01 13:59 (saite)
Pat tad, ja tas NULL nav redzams?

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]kruzulis
2011-12-01 14:16 (saite)
Pirmais var atgriest kautko tikai tad ja sse.date_from ir null. šajā gadījumā arī otrajam un trešajam bija jāatgriež.

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]kruzulis
2011-12-01 14:19 (saite)
Vismaz es viegli varēju atrast tādas sse.date_from, usv.date_from un vgl.gp_from kur visi trīs atgriež rindu.

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]so_damn_insane
2011-12-01 15:40 (saite)
Realitātē vērtības ir šādas:

sse.date_from = NULL (neeksistē raksts, jo pievilkts caur outer join)
vgl.gp_from = 2011.11.01
usv.date_from = 2011.11.28

Un atgriezto rindu skaits arī realitātē ir tāds kāds pierakstīts.

(Atbildēt uz šo) (Iepriekšējais)


Neesi iežurnalējies. Iežurnalēties?