so_damn_insane ([info]so_damn_insane) rakstīja,
@ 2007-11-07 10:55:00

Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Entry tags:ora

Pasakiet, kāds, lūdzu - KĀDA VELNA PĒC TAS STRĀDĀ???!!!

SELECT
change_date AS change_date
,date_from AS date_from
,date_to AS date_to
,cgp_id
FROM (select 1 as ctr_id
,to_date('20070101','yyyymmdd') as change_date
,to_date('20071106','yyyymmdd') as date_from
,1 as cgp_id
,null as date_to
from dual
) cgp_new
JOIN (select 1 as id, 'C' as code from dual) cgp
ON (cgp_new.cgp_id = cgp.id)
JOIN (select 1 as ctr_id
,to_date('20070201','yyyymmdd') as change_date
,to_date('20071106','yyyymmdd') as date_from
,2 as cgp_id
,to_date('20071105235959','yyyymmddhh24miss') as date_to
from dual
) cgp_old
ON ( cgp_old.ctr_id = cgp_new.ctr_id
AND cgp_old.date_to = cgp_new.date_from - 1/(24*60*60) -- intervāli nepārklājas
)
JOIN (select 2 as id, 'D' as code from dual) cgp2
ON (cgp2.id = cgp_old.cgp_id)
/



(Ierakstīt jaunu komentāru)


[info]kruzulis
2007-11-07 11:17 (saite)
1/(24*60*60) ir domāts viena sekunde?

SELECT to_date('20071106', 'yyyymmdd') AS date_from, to_date('20071105235959', 'yyyymmddhh24miss') AS date_to FROM dual
UNION ALL
SELECT to_date('20071106', 'yyyymmdd')- 1 / (24 * 60 * 60) AS date_from, to_date('20071105235959', 'yyyymmddhh24miss') AS date_to FROM dual;

(Atbildēt uz šo) (Diskusija)


[info]so_damn_insane
2007-11-07 11:22 (saite)
Tas vairāk bija domāts tā - KĀPĒC MĒS NEDABŪJAM "ORA-00918: column ambiguously defined"???

piemēram...


select val
from (select 1 as id, 'abc' as val from dual) A
join (select 1 as id, 'def' as val from dual) B
on (a.id = b.id)

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


[info]pirx
2007-11-07 11:33 (saite)
Pag, bet tev tač' visas džoina kolonas ir definētas pa pilno.

Nu tipa a.id = b.id

EGGOGam būtu jābūt pie vienkārša id = id, ne tā?

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


[info]so_damn_insane
2007-11-07 13:12 (saite)
Problēma jau nav JOINā.
Problēma ir zem atlasāmo kolonu saraksta (un WHERE nosacījumā arī, ja tādu pieliek).

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


[info]pirx
2007-11-07 14:42 (saite)
Ok, sapratu, kaine ānung...

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


[info]kruzulis
2007-11-07 11:35 (saite)
Tiešām awesome, izmēģinot pārmaiņus:
--SELECT change_date change_date, date_from date_from, date_to date_to, cgp_id
--SELECT *
var redzēt, ka vērtības ir pa pāriem, kas skaidrāku šo parādību nerada. :)

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


[info]kruzulis
2007-11-10 13:29 (saite)
Pajautāju Tomam Kaitam:
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:536733500346821639

(Atbildēt uz šo)


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