Pozdrav,
Imam zanimljiv problem.
4 tabele, 3 lagera i jedna tabela sa minimalnim zalihama.
Cilj je da prikaze koju robu poruciti.
U zalihama.min se nalazi cifra koliki je minimum.
Zbir svih lagera ako je manji od tog minimuma treba da mi izlista i da prikaze koliko treba poruciti.
SQL
SELECT zalihe.katbroj, Sum(zalihe.minimum-lager1.stanje-lager2.stanje-lager3.stanje) AS poruciti
FROM lager1, lager2, lager3, zalihe
WHERE zalihe.katbroj=lager1.katbroj
and
zalihe.katbroj=lager2.katbroj
and
zalihe.katbroj=lager3.katbroj
and
(lager1.stanje+lager2.stanje+lager3.stanje )< zalihe.minimum
GROUP BY zalihe.katbroj
pisao sam pseudo, mozda je neka greskica ali tako pisano da se lakse shvati.
Ne izbacuje nista ovaj sql a proveravao sam manuelno da ih ima...
Kada stavim umesto " < " " > " dobijam cifre u minusu...
Znaci nije greska u vezivanju, nije ni da radi glupost... tada dobijem da opet samo neke proizvode (cinimi se neke, nisam proveravao celu bazu, velika je) ali lepo sracunate... recimo artikal1 imam u svim lagerima 28 a min je 25 i on mi lepo izracuna -3 (minus zbog takve matematike u prvom redu).
Ima li neko ideju gde moze da ovo pobrljavi ?
Da napomenem da je baza lose projektovana...
recimo lager1 nema uopste neki katbroj koji stoji u min recimo (nema ga na lageru, pa umesto da ga ima sa vrednoscu 0 njega nema uopste)
Da li mozda to brljavi...
Ako to brljavi... kako odraditi a da nije rucno novu tabelu sa svim artiklima..... i onih koje stoje samo na tom lageru, a i da ima onih koji su u zalihama...
Mozda sad ovo konfuzno.
Uglavnom, zalihe imaju samo osnovne stvari i to je 500 artikla i toliko redova.
Lager ima daleko vise od 500 redova, ali nema svih tih 500 redova vec mozda 300 iz tog minimuma...
Hvala
|