Računanje s NULL vrijednostima
23.01.2008. u 19:37 · pre 228 meseci
#1
Evo ovako, imam jedan problem oko NULL vrijednosti.
Imam 2 tablice: stavka i racun
stavka ima stupce: stavka_id, odobreno
racun ima stupce: racun_id, stavka_id, iznos
e sad zelim napraviti upit koji zbraja sve racune u svakoj stavci i kao izlaz daje 3 stupca:
ukupno (iz tablice stavka), potroseno (suma iznosa racuna grupirano po stavkama), ostaje(ukupno-potroseno)
isto tako sve stavke moraju biti vidljive bez obzira da li ima ijedan racun koji im pripada, pa sam spajao sa LEFT JOIN naredbom
ovako izgleda SQL naredba
SELECT ukupno ,SUM(iznos) AS potroseno, odobreno - SUM(iznos) AS ostaje FROM stavka LEFT JOIN racun
ON racun.stavka_id = stavka.stavka_id GROUP BY stavka.stavka_id
problem je u tome sto u stavkama u kojima nema niti jedan racun stupac potroseno je NULL, jer nije jedna vrijednost nije zbrojena
i onda kod izracunavanja stupca "ostaje" opet je vrijednost NULL, jer "nesto" - NULL = NULL
pa imam situaciju da mi recimo izbacuje
ukupno = 100 potroseno = 0 ostaje = 0
jel ima netko mozda kakav prijedlog kako ovo rijesiti?
[Ovu poruku je menjao zolakt dana 23.01.2008. u 20:54 GMT+1]
Imam 2 tablice: stavka i racun
stavka ima stupce: stavka_id, odobreno
racun ima stupce: racun_id, stavka_id, iznos
e sad zelim napraviti upit koji zbraja sve racune u svakoj stavci i kao izlaz daje 3 stupca:
ukupno (iz tablice stavka), potroseno (suma iznosa racuna grupirano po stavkama), ostaje(ukupno-potroseno)
isto tako sve stavke moraju biti vidljive bez obzira da li ima ijedan racun koji im pripada, pa sam spajao sa LEFT JOIN naredbom
ovako izgleda SQL naredba
SELECT ukupno ,SUM(iznos) AS potroseno, odobreno - SUM(iznos) AS ostaje FROM stavka LEFT JOIN racun
ON racun.stavka_id = stavka.stavka_id GROUP BY stavka.stavka_id
problem je u tome sto u stavkama u kojima nema niti jedan racun stupac potroseno je NULL, jer nije jedna vrijednost nije zbrojena
i onda kod izracunavanja stupca "ostaje" opet je vrijednost NULL, jer "nesto" - NULL = NULL
pa imam situaciju da mi recimo izbacuje
ukupno = 100 potroseno = 0 ostaje = 0
jel ima netko mozda kakav prijedlog kako ovo rijesiti?
[Ovu poruku je menjao zolakt dana 23.01.2008. u 20:54 GMT+1]