Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Błędne podsumowanie przy użyciu ROLLUP
Forum PHP.pl > Forum > Bazy danych > MySQL
mate006
Witam serdecznie

Błędnie sumuje mi kolumny przy użyciu ROLLUP

  1. SELECT z.id_order,
  2.  
  3. IF(z.faktura = 0, ROUND(IF(b.cena IS NOT NULL,SUM(b.cena* c.ilosc), z.cena),2), '') AS 'paragony',
  4. ROUND(IF(b.cena IS NOT NULL,SUM(b.cena* c.ilosc), z.cena),2) AS 'laczna_wartosc',
  5. 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'
  6. FROM
  7. `zlecenia` z
  8. LEFT JOIN buy AS b USING (id_order)
  9. LEFT JOIN ceny_zakupu_zamowienia AS c USING (id_order)
  10. LEFT JOIN dostawy AS d USING (id_dostawy)
  11. LEFT JOIN vat AS v USING (id_vat)
  12. WHERE
  13. z.id_status = 4 AND
  14.  
  15. z.Data_zakonczenia BETWEEN '2016-12-01' AND '2016-12-31'
  16.  
  17. GROUP BY (z.id_order)
  18. 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
javafxdev
A nie powinno tam być sum(<to co tam masz>) AS 'paragony' itd?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.