Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ORACLE -> Informix

[es] :: Oracle :: ORACLE -> Informix

[ Pregleda: 2886 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Petar_Veliki
Branko Milutinovic
Nemacka

Član broj: 72292
Poruke: 26
*.m.revmap.vianetworks.de.



Profil

icon ORACLE -> Informix18.05.2006. u 10:06 - pre 218 meseci
Pozdrav svima.
Imam sledeci problem ( i na zalost mi je veoma hitno)

select test1 from ( select test1,test2 from test where test3 = 'nesto')
where test1 = 2

je u oracle sasvim normalna stvar al to ne radi u Inforix-u
Kako se moze napisati takav subquery u Informix-u
 
Odgovor na temu

VRider
Marković Damir
(BGD/SD Karaburma)/Pirot

Član broj: 1510
Poruke: 4132
*.maksnet.net.

Jabber: damirm | gmail | com
ICQ: 134002435


+13 Profil

icon Re: ORACLE -> Informix18.05.2006. u 11:45 - pre 218 meseci
Morace da se drugacije napise query za Informix, ali si ga jako lose uprostio ovde, pa se ne vidi sta on zaista treba da radi.
Zasto?
select test1 from .... where test1 = 2
Dobices samo "0 ili vise" dvojki. :)
JaFreelancer.com
 
Odgovor na temu

Petar_Veliki
Branko Milutinovic
Nemacka

Član broj: 72292
Poruke: 26
*.m.revmap.vianetworks.de.



Profil

icon Re: ORACLE -> Informix22.05.2006. u 09:38 - pre 218 meseci
select je uproscen jer me zanima kako se u osnovi radi takav nested select u informixu. U osnovi moram da naucim informix SPL pa sam probao neke oracle stvari koje funkcionisu da napisem u informixu i imam problema sa select form select. a evo ga i select

select KI_E0,KN_E0,KI_E1,KN_E1 ,KI_E2,KN_E2,KI_E3,KN_E3,MA_ID, MANAME from
(select KST_ID, KSTNR KI_E0,KSTNAME KN_E0, KSTHIERARCHIE from ZENAL_KOSTENSTELLE
where KSTHIERARCHIE =0) E0,
(select KST_ID, KSTNR KI_E1,KSTNAME KN_E1 ,KSTHIERARCHIE from ZENAL_KOSTENSTELLE
where KSTHIERARCHIE =1) E1,
(select KST_ID, KSTNR KI_E2,KSTNAME KN_E2 ,KSTHIERARCHIE from ZENAL_KOSTENSTELLE
where KSTHIERARCHIE =19) E2,
(select a.KST_ID, KSTNR KI_E3,KSTNAME KN_E3 ,KSTHIERARCHIE ,case when ACTIV = 1 then MA_ID
else MA_ID+10000 end MA_ID ,
case when ACTIV = 1 then c.NACHNAME||' '||c.VORNAME
else 'Obsolete '||c.NACHNAME||' '||c.VORNAME end MANAME from ZENAL_KOSTENSTELLE a,ZENAL_NA_SL_VON_VIS_2 b,ZENAL_MITARBEITER c
where KSTHIERARCHIE =11
and a.KST_ID=b.KST_ID
and b.ma_id=c.MA_ID_INTERN) E3
where e0.KST_ID=e1.KSTHIERARCHIE
and e1.KST_ID=e2.KSTHIERARCHIE
and e2.KST_ID=e3.KSTHIERARCHIE

Sta sam select radi je potpuno nebitno ( postavlja neke hierarchije)
U Informix dokumentaciji se govori samo o subquery u where klauzuli al to meni ne treba


 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: ORACLE -> Informix22.05.2006. u 18:22 - pre 218 meseci
Evo dokaza da nas je ORACLE razmazio

Select ... from (select ...
je relativno nova konstrukcija, a živeli smo lepo i bez nje.
Kada pogledam upit iz primera, ne mogu da ne primetim da je to žestoka "zloupotreba" ORACLA.
Dakle, E0 E1 E2 uopšte nije potrebno pisati kao podupite, može jednostavno da se stavi običan join. Što se tiče podupita E3 (da li si siguran da case radi u Informixu?) može se napraviti view pa ga onda iskoristiti u joinu, a to je bio način na koji smo nekada rešavali probleme gde su nam trebali podupiti.
Znači, umesto dinamičkih pogleda, napravi statički.

(uzgred, nisam stručnjak za Informix...)
 
Odgovor na temu

Petar_Veliki
Branko Milutinovic
Nemacka

Član broj: 72292
Poruke: 26
*.m.revmap.vianetworks.de.



Profil

icon Re: ORACLE -> Informix23.05.2006. u 09:30 - pre 218 meseci
Hvala na pokusaju.
Mene samo zanima da li select form (select...
radi u informixu, jer mi to u osnovi svako malo treba. Ne zbog ovog selecta niti je on bitan u celoj ovoj prici.
Inace case funkcionise u informixu bez problema i zato ne mogu da verujem da ovakve stvari ne rade, vec da moram da pisem extra view za to.
Da ide sa view to mi je jasno.
( Usput ovaj select je samo deo jednog view-a koji ide dalje sa union .... i funkcionise bez problema i tacno onako kako treba pa ne vidim zasto bi trebalo nesto promeniti) a da ide sa obicnim join ... ne znam kako pa mi napisi
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: ORACLE -> Informix23.05.2006. u 17:10 - pre 218 meseci
Evo kako može da se preformuliše upit:
Code:

select E0.KSTNAME KI_E0,
       E0.KSTNAME KN_E0,
       E1.KSTNR KI_E1,
       E1.KSTNAME KN_E1 ,
       E2.KSTNR KI_E2,
       E2.KSTNAME KN_E2,
       a.KSTNR KI_E3,
       a.KSTNAME KN_E3,
       decode(???.ACTIV, 1, ???.MA_ID, ???.MA_ID+10000) MA_ID,
       decode(???.ACTIV, 1, c.NACHNAME||' '||c.VORNAME, 'Obsolete '||c.NACHNAME||' '||c.VORNAME) MANAME
from ZENAL_KOSTENSTELLE E0,
     ZENAL_KOSTENSTELLE E1,
     ZENAL_KOSTENSTELLE E2,
     ZENAL_KOSTENSTELLE a,ZENAL_NA_SL_VON_VIS_2 b,ZENAL_MITARBEITER c
where
     a.KSTHIERARCHIE =11 and
     a.KST_ID=b.KST_ID and
     b.ma_id=c.MA_ID_INTERN and
     E0.KSTHIERARCHIE =0 and
     E1.KSTHIERARCHIE =1 and
     E2.KSTHIERARCHIE =19 and
     e0.KST_ID=e1.KSTHIERARCHIE and
     e1.KST_ID=e2.KSTHIERARCHIE and
     e2.KST_ID=e3.KSTHIERARCHIE 


Ono ??? je zbog toga što ne znam iz koje je tabele ACTIV i MA_ID
 
Odgovor na temu

Petar_Veliki
Branko Milutinovic
Nemacka

Član broj: 72292
Poruke: 26
*.m.revmap.vianetworks.de.



Profil

icon Re: ORACLE -> Informix24.05.2006. u 10:20 - pre 218 meseci
Hvala , ovo radi i na informixu.
Pokusacu ubuduce da razmisljam jendostavnije
Pozdrav
 
Odgovor na temu

[es] :: Oracle :: ORACLE -> Informix

[ Pregleda: 2886 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.