• 10 odgovora
  • 2.775 pregleda
sql upit: kako da mi vrati null vrijednost? 23.05.2011. u 15:58 · pre 187 meseci #1
Kako da kreiram upit koji ce mi vratiti null vrijednost ako record u bazi ne postoji?

Radim neki join 2 tabele. U ovom 'nested' select-u uslov nije ispunjen, dok je prvi uslov ok. Znaci, sumarno, ne dobijam nikakav rezultat.
Sta uraditi da dobijem potrebne podatke iz prvog uslova i za polje 'sumaN2' (u primjeru ispod) null vrijednost?

Code:

SELECT        tb1.F1, tb1.F2, tb1.F3, SUM(tb1.F4) AS sumaN, SUM(tb1.F5) AS sumaN1, SUM(tb2.preDveGod) AS sumaN2
FROM           TABELA_XX AS tb1 INNER JOIN
                             (SELECT        F2, SUM(F4) AS preDveGod
                               FROM            TABELA_XX
                               WHERE        (YEAR(Datum) = @period-2)
                               GROUP BY F2) AS tb2 ON tb1.F2 = tb2.F2
WHERE        (YEAR(tb1.Datum) = @period)
GROUP BY tb1.F2, tb1.F1, tb1.F3



Hvala!
Pozdrav!

[Ovu poruku je menjao grunf85 dana 23.05.2011. u 19:06 GMT+1]
Re: sql upit: kako da mi vrati null vrijednost? 23.05.2011. u 16:03 · pre 187 meseci #2
left outer join?

Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: sql upit: kako da mi vrati null vrijednost? 17.06.2011. u 12:29 · pre 186 meseci #4
Treba mi mala pomoc.

Kako treba da mi izgleda upit ako hocu da mi npr. iz tabele zaposleni prikaze DRUGU najvecu platu?

Znam da bi za prvu najvecu izgledalo ovako:

select MAX(plata) from zaposleni;

Hvala
Re: sql upit: kako da mi vrati null vrijednost? 17.06.2011. u 12:35 · pre 186 meseci #5
select top 2 plata from zaposleni order by plata desc

pa uzmes drugi red

ili

select max(plata) from zaposleni
where plata < (select max(plata) from zaposleni)

Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: sql upit: kako da mi vrati null vrijednost? 17.06.2011. u 16:53 · pre 186 meseci #8
pa uvek mozes da iskoristis skip algoritam.

select row_number() over (order by plata desc), plata from radnik

pa onda u where po zelji..
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: sql upit: kako da mi vrati null vrijednost? 17.06.2011. u 20:08 · pre 186 meseci #10
hehe, sorry onda sto sam se izbrbljao
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme