Błędnie sumuje mi kolumny przy użyciu ROLLUP
SELECT z.id_order, IF(z.faktura = 0, ROUND(IF(b.cena IS NOT NULL,SUM(b.cena* c.ilosc), z.cena),2), '') AS 'paragony', ROUND(IF(b.cena IS NOT NULL,SUM(b.cena* c.ilosc), z.cena),2) AS 'laczna_wartosc', ROUND(IF(b.cena IS NOT NULL,SUM(b.cena* c.ilosc) - SUM(d.cena_netto*(1+(v.nazwa/100)) * c.ilosc), z.cena),2) AS 'zysk' FROM `zlecenia` z LEFT JOIN buy AS b USING (id_order) LEFT JOIN ceny_zakupu_zamowienia AS c USING (id_order) LEFT JOIN dostawy AS d USING (id_dostawy) LEFT JOIN vat AS v USING (id_vat) WHERE z.id_status = 4 AND z.Data_zakonczenia BETWEEN '2016-12-01' AND '2016-12-31' GROUP BY (z.id_order) WITH ROLLUP
I otrzymuję wynik jak w załączniku:

Gdzie brakuje pozycji z id_order = 899 i id_order = 905 które są wynikiem zapytania IF(b.cena IS NOT NULL)
Prosiłbym o pomoc w odnalezieniu przyczyny