[ popmilan76 @ 29.04.2015. 19:12 ] @
Imam dve tabele u kojim su jedno od polja ulaz i izlaz,a pre toga zajednicka polja,kao npr.sifra,naziv,cena...
Treba mi upit koji ce da oduzme zbirove ova dva polja...i taj sam napravio upit,ali samo kada su u obe tabele zajednicke sifre,pa mi onda oduzme ulaz od izlaza,ali neki put nemam zajednicke sifre,vec ih imam samo u recimo prvoj,pa mi treba da mi bude samo ulaz...
[ savkic @ 29.04.2015. 20:15 ] @
Objasni malo bolje, koji deo ti je problem, pisanje where bloka ili dela za racunanje, ili...?
[ popmilan76 @ 29.04.2015. 20:35 ] @
imam dve tabele arhiva i zalihe...
arhiva ima podatke
sifra naziv izlaz
0101 hleb 100


zalihe ima podatke
sifra naziv ulaz
0101 hleb 20
0103 burek 10


i meni u mom upitu izlazi(a upit je where arhiva.sifra = zalihe.sifra) samo zajednicka sifra,dakle samo ovo
0101 hleb 80


a treba da izadje i ovo
0103 burek 10


Nadam se da sam objasnio
[ djoka_l @ 29.04.2015. 20:44 ] @
Code (sql):

SELECT sifra, naziv, SUM(ulaz - izlaz)
FROM (
   SELECT sifra, naziv, 0 AS ulaz, izlaz FROM arhiva
   UNION ALL
   SELECT sifra, naziv, ulaz, 0 FROM zalihe)
GROUP BY sifra, naziv
 
[ popmilan76 @ 29.04.2015. 21:12 ] @
Nisam rekao koristim Paradox tabele i bde,pa nisam siguran da ce uspeti ovaj sql....
[ djoka_l @ 30.04.2015. 09:01 ] @
Nema na čemu.

Baš me briga koji jezik i bazu koristiš, to ti je logika. Podaci treba da stoje u JEDNOJ tabeli koja ima ulaz i izlaz. Da li ćeš da napraviš view ili ćeš da napišeš program koji sekvencijalno čita podatke iz jedne i druge tabele nije bitno. Za svaku šifru treba da napraviš jedan subtotal kada ti se prvi put šifra pojavi, bez obzira u kojoj tabeli.
[ popmilan76 @ 30.04.2015. 13:35 ] @
Mozda nisam nesto dobro uradio,ali evo da stavim sve tabele i nazive...i koji kod ja koristim


select zalihe.sifraartikla,zalihe.nazivartikla,zalihe.jedinicamere,zalihe.cena,sum(zalihe.ulaz),sum(arhiva.kolicina) as izlaz from zalihe,arhiva
where arhiva.sifra = zalihe.sifraartikla
group by sifraartikla,nazivartikla,jedinicamere,cena


i tu mi izlaze samo zajednicki artikli u obe.....
[ savkic @ 30.04.2015. 19:52 ] @
Mislim da ti je losa organizacija tabela, ali kad je vec takva situacija da vidimo sta se moze uraditi sa time sto imas.

Code:

SELECT
  Z.SIFRA, Z.NAZIV, (SELECT  SUM (Z2.ULAZ) FROM ZALIHE Z2 WHERE Z2.SIFRA = Z.SIFRA) - (SELECT SUM(A.IZLAZ) FROM ARHIVA A WHERE A.SIFRA = Z.SIFRA) AS STANJE
FROM
  ZALIHE Z
ORDER BY
  Z.SIFRA


Ako imas odgovarajuce indekse po sifri i nemas puno podataka, nece biti previse sporo.
[ popmilan76 @ 30.04.2015. 20:12 ] @
Savkicu,izlazi mi isto kao i u mom upitu,samo ono sto se pojavljuje u tabeli zalihe,bez onih u arhivi...
[ captPicard @ 30.04.2015. 20:46 ] @
Spoji odgovore od savkica i od djoke i dobiti češ ono šta želiš.