Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Połączenie dwóch zapytań
Forum PHP.pl > Forum > Bazy danych > MySQL
noisysomeone
Witam,
Mam pole `status`, `data`, `liczba` oraz dane:
Kod
status      data      liczba
  1      14.03.2011     5
  0      14.03.2011     7
  1      14.03.2011    10
  1      15.03.2011    60
  0      15.03.2011    96
  1      15.03.2011    76
  1      15.03.2011    99
...    ............   ..

Mam nadzieje, że powyższy kod ilustruje strukturę bazy. Potrzebuje zapytania, które zwróci taki oto wynik:
Kod
data, ilosc-wierszy-ze-statusem-1, sum-liczby-dla-dla-status-1, ilosc-wierszy-ze-statusem-0, sum-liczby-dla-dla-status-0


Czyli potrzebuje zestawić każdy dzień pod kątem statusów i sum liczba. Mógłbym użyć 2 następujących zapytań, ale potrzebuje to zrobić w jednym.
Kod
SELECT `data`, SUM(`liczba`), COUNT(`id`) FROM `zamowienia` WHERE date(`data`) >= DATE(NOW()-interval 30 day) AND `status`='1' GROUP BY `data`
SELECT `data`, SUM(`liczba`), COUNT(`id`) FROM `zamowienia` WHERE date(`data`) >= DATE(NOW()-interval 30 day) AND `status`='0' GROUP BY `data`


Dopiero zaczynam z MySQL i nie bardzo wiem jak to zrobić. Z góry dziękuje za waszą pomoc;)

Jarek
maly_swd
  1. SELECT DATA,
  2. count(IF(STATUS=1, 1, NULL)) AS ilosc_wierszy_ze_statusem_1,
  3. sum(IF(STATUS=1, liczba, 0)) AS sum_liczby_dla_dla_status_1,
  4.  
  5. count(IF(STATUS=0, 1, NULL)) AS ilosc_wierszy_ze_statusem_0,
  6. sum(IF(STATUS=0, liczba, 0)) AS sum_liczby_dla_dla_status_0
  7.  
  8. FROM tabela
  9. GROUP BY DATA
noisysomeone
Dzięki mały, działa:)
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.