[ Samo polako @ 23.10.2005. 21:34 ] @
Imam tri tabele


tabela:sf
-------
s
-------
1
2
3
4
-------

tabela:n1
----------
sifra...a
----------
1.......10
2.......11
3.......13
4.......14
----------

tabela:n2
----------
sifra...a
----------
1.......1
2.......3
4.......6
----------

upit:

select s,
(select sum (a) from n1 where sifra=sf.s) as A,
(select sum (a) from n2 where sifra=sf.s) as B,
(select sum (a) from n1 where sifra=sf.s) - (select sum (a) from n2 where sifra=sf.s) as AMB
from sf

rezultat:
-----------------------------
s.......A.......B.......AMB
-----------------------------
1.......10......1.......9
2.......11......3.......8
3.......13......NULL..NULL
4.......14......6.......8
-----------------------------

što je i logično jer u tabeli n2 ne postoje podaci sa sifrom 3
ono sto zelim je da umjeso NULL u slucaju sifre 3 dobijem nulu (0) i da samim tim
rezultat u koloni AMB bude 13-0=13

Jeli moguće to uraditi onako kako sam zamislio?

Hvala unapred!
[ Samo polako @ 23.10.2005. 22:03 ] @

Naravno da je moguće samo treba malo pročačkati...

select s,
isnull((select sum (a) from n1 where sifra=sf.s),0) as A,
isnull((select sum (a) from n2 where sifra=sf.s),0) as B,
isnull((select sum (a) from n1 where sifra=sf.s),0) - isnull((select sum (a) from n2 where sifra=sf.s),0) as AMB
from sf

Jednom sam pročitao kako je neko odgovorio sa:

"Stvarno ne razumijem likove koji ne koriste pretragu"

to mi naumpade, i ja pretrži, i nađoh...

;))))