Forum » Programiranje » [SQL] Postgree - Sestevanje polja ki obstaja in ki ne obstaja vrne nic.
[SQL] Postgree - Sestevanje polja ki obstaja in ki ne obstaja vrne nic.
Poldi112 ::
Spodnji querry lepo deluje ce obe kolicini obstajata. Ce pa druge kolicine ne najde ne vrne prve kolicine ampak nic (prazen prostor). Zakaj mi ne naredi v drugem primeru razlike 1 ???
kolicina | kolicina | razlika
----------+----------+---------
18 | 11 | 7
kolicina | kolicina | razlika
----------+----------+---------
11 | |
SELECT cc.kolicina, prenos.kolicina, cc.kolicina-prenos.kolicina as razlika from cc
left join prenos on prenos.sifra=cc.sifra and prenos.orig_prevzem=cc.prevzemni_list
where cc.sifra='C37011280';
kolicina | kolicina | razlika
----------+----------+---------
18 | 11 | 7
kolicina | kolicina | razlika
----------+----------+---------
11 | |
SELECT cc.kolicina, prenos.kolicina, cc.kolicina-prenos.kolicina as razlika from cc
left join prenos on prenos.sifra=cc.sifra and prenos.orig_prevzem=cc.prevzemni_list
where cc.sifra='C37011280';
Where all think alike, no one thinks very much.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.
EjTi ::
Verjeto hočeš, da vrne 11.
V ms-sql gre:
cc.kolicina-prenos.kolicina as razlika
->
isnull (cc.kolicina, 0) - isnull (prenos.kolicina, 0) as razlika
V ms-sql gre:
cc.kolicina-prenos.kolicina as razlika
->
isnull (cc.kolicina, 0) - isnull (prenos.kolicina, 0) as razlika
Poldi112 ::
Hvala za tip. Mi je s to pomocjo uspelo najti podobno funkcijo v postgres-u: coalesce. Ceprav me tak odziv baze malo preseneca. Ampak vazno da dela.
cc.kolicina-COALESCE (prenos.kolicina,0) as razlika
kolicina | prenos | razlika
----------+--------+---------
11 | 0 | 11
cc.kolicina-COALESCE (prenos.kolicina,0) as razlika
kolicina | prenos | razlika
----------+--------+---------
11 | 0 | 11
Where all think alike, no one thinks very much.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.
Seadoo ::
Tak odziv baze je čisto pravilen. Gre preprosto za to, da NULL ni enako 0. NULL pomeni neznana vrednost. Vedno, ko je neka vrednost lahko enaka NULL, moraš poskrbeti za pravilno "hendlanje" takih vrednosti.
Več tukaj in tukaj.
Več tukaj in tukaj.
Out of my mind. Back in five minutes.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
! | Mobilni internet za telebane (strani: 1 2 )Oddelek: Mobilne tehnologije | 112734 (16158) | zobnik |
» | Omrežja 5G bodo podpirala 20 Gb/sOddelek: Novice / Omrežja / internet | 28193 (24882) | Lonsarg |
» | mysql if stavekOddelek: Programiranje | 1258 (872) | MrStein |
» | Baza podatkov!?Oddelek: Programska oprema | 970 (970) | moowy123 |
» | MySQL join problemOddelek: Programiranje | 1541 (1439) | Poldi112 |