Autor Zpráva
Petr1234
Profil *
Zdravím, nemůžu přijít na SQL dotaz pro porovnání SUM:

Mám tabulku:

typ cena id_objednavky
1 1000 123
1 1300 123
2 2300 123

typ 1 = vyzva, typ 2 = faktura
cena = penize
id_objednavky = doklady k dane objednavce

a potrebuju u dane obj. porovnat zda soucet cen typ=1 se rovna cene typ=2 (typ=2 je vzdy JEDEN u objednavky)

Můžete prosím poradit?
Kajman
Profil
Snad
select (select coalesce(sum(cena),0) from tabulka where id_objednavky=123 and typ=1)
       =
       (select coalesce(sum(cena),0) from tabulka where id_objednavky=123 and typ=2)
       as shoda
from dual

Případně jednoduchný dotaz
select typ, sum(cena) soucet from tabulka where id_objednavky=123 group by typ
a pak např. v php porovnat řádky.
juriad
Profil
Snad by mohla fungovat i nějaká ta aritmetika:
select id_objednavky, sum( cena * (3 - 2 * typ)) = 0 as shoda from tabulka group by id_objednavky
Pro typ = 1 řádek započte jedenkrát; pro typ = 2 řádek započte mínus jedenkrát.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0