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

Sortiranje rezultata SQL upita sa UNION...????

[es] :: Baze podataka :: Sortiranje rezultata SQL upita sa UNION...????

[ Pregleda: 2204 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

markoval
Aleksandar Markovic
bgd

Član broj: 57160
Poruke: 17
*.eunet.yu.



Profil

icon Sortiranje rezultata SQL upita sa UNION...????31.08.2005. u 10:04 - pre 226 meseci
Imam veliki problem...

ideja je da se iz baze filtriraju klijenti koji treba danas da se zovu (SELECT1) i oni koji nikad nisu pozvani (SELECT2), a da pri tom se izuzmu oni ciji su pozivi u toku i oni koj vise ne treba zvati (tabela callstatus). Za to sam smislio (poprilicno komplikovan upit - siguran sam da moze i jednostavnije i efikasnije) ovakav upit misleci da moze da se naknadno sortira onako kako je meni potrebno:

SELECT code_clien FROM tblklijenti WHERE DATERAP LIKE 'danasnjidatum' AND code_clien NOT IN (SELECT code_clien FROM callstatus) UNION SELECT code_clien FROM tblklijenti WHERE DATERAP IS NULL AND code_clien NOT IN (SELECT code_clien FROM callstatus)

taj upit meni stvarno vraca rezultat koji meni treba, ali nikako ne uspevam da ga sortiram.
Izgleda da se sortiranje izvrsava automatski posle oba upita, nevezano od toga da li c ja u SELECT1 ili SELECT2 da unesem ORDER BY...
Trebao bih da sortiram na sledeci nacin:
- prvo SELECT1 ali po polju code_clien
- pa onda SELECT2 i isto po polju code_clien

Da li mozda neko ima neku ideju kako da prevazidjem ovakav problem?
- prepisivanje podataka u novu tabelu mi nekako ne zvuci optimalno jer aplikacija treba da bude visekorisnicka, i onda ce biti mnogo tabela u bazi...
- bazu sam dobio od nekog arhaicnog programa, i obavezan sam da zadrzim njenu strukturu, tako da mi opisivanje novih polja nije bas dozvoljeno - iz upita se vidi otprilike sta imam na raspolaganju.

AKO NEKO MOZE DA MI POMOGNE OKO SORTIRANJA ILI OPTIMALNIJEG UPITA... UPOMOC!
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: Sortiranje rezultata SQL upita sa UNION...????31.08.2005. u 10:14 - pre 226 meseci
Malo si kilavo objasnio. Ne bi bilo loše, kad pitaš nešto slično, da daš opis tabela, kao i primer šta ima u njima i šta bi voleo da dobiješ kao rezultat.

E sad...

Ne treba ti UNION. Uradi LEFT JOIN sa tabelom callstatus i uslovom WHERE callstatus.code_clien IS NULL.

Sortiraš sa ORDER BY daterap, code_clien

I to bi trebalo da bude to.
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.infonova.at.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: Sortiranje rezultata SQL upita sa UNION...????31.08.2005. u 10:18 - pre 226 meseci
Code:
SELECT code_clien 
FROM tblklijenti 
WHERE (DATERAP LIKE 'danasnjidatum' OR DATERAP IS NULL) 
AND code_clien NOT IN (
                            SELECT code_clien 
                      FROM callstatus) 
ORDER BY daterap, code_clien;

Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

markoval
Aleksandar Markovic
bgd

Član broj: 57160
Poruke: 17
217.26.75.*



Profil

icon Re: Sortiranje rezultata SQL upita sa UNION...????01.09.2005. u 00:50 - pre 226 meseci
:D
kad covek ne razmislja... sortiranje nije radilo zbog nestandardizovanih upisa u polju daterap (negde bilo d.m.yyyy, a negde dd.mm.yyyy), a neka prazna polja se ispostavilo da su jedan space, a ne blanko, dok neka jesu blanko, i naravno da NE RADI SORTIRANJE...

ps. sad tek shvatam koliko sam zakomplikovao upit

Hvala na pomoci i optimalnijem sql-u
 
Odgovor na temu

[es] :: Baze podataka :: Sortiranje rezultata SQL upita sa UNION...????

[ Pregleda: 2204 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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