Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: MySQL - dwie serie danych w jednym zapytaniu
Forum PHP.pl > Forum > Bazy danych > MySQL
ktuvok
Siedzę od paru godzin i nie mogę wykombinować:

W tabeli Sprzedaz przechowuję dane dotycz±ce sprzedaży oraz identyfikatory produktów.
W tabeli Produkty - dane o produktach.
W tabeli Przedstawiciele - o przedstawicielach.

Potrzebuję pobrać sumy sprzedaży dokonanych przez przedstawicieli w zadanym okresie, ale osobno dla dwóch grup produktów - A i B. Efektem ma być zestawienie w postaci:

Przedstawiciel | SumaSprzedazy_A | SumaSprzedazy_B


Napisałem na razie jedynie dla klasy A:

SELECT Przedstawiciele.ImieINazwiskoPrzedstawiciela, SUM(Sprzedaz.CenaJednostkowa * Sprzedaz.Ilosc)
FROM Sprzedaz, Produkty, Przedstawiciele
WHERE Produkty.IDProduktu = Sprzedaz.IDProduktu
AND Produkty.KlasaProduku = 'A'
AND Przedstawiciele.IDPrzedstawiciela = Sprzedaz.IDPrzedstawiciela
AND Sprzedaz.DataSprzedazy > '$Jaka¶Data'
AND Sprzedaz.DataSprzedazy < '$Jaka¶InnaData'
GROUP BY Sprzedaz.IDPrzedstawiciela

Jak tę drug± kolumnę "wcisn±ć" do tego SQL'a?

MySQL 4.0.16.

Pozdrawiam,
Krzysiek
Method
o cholera !
nie mam pojecia ale jak wymozdzysz to podeslij bo jestem cholernie ciekaw
spenalzo
Odwołaj sie drugi raz do tej samej tabeli (np. "Przedstawiciele AS Przedstawiciele"), i wywołaj jeszcze raz te same warunki dla drugiego odwołania, np. "AND Produkty2.KlasaProduku = 'B' ": itd.).
uboottd
No takie sklejenie akurat namiesza strasznie, szczegolnie z grupowaniem.

Cos takiego:
[sql:1:5a5ed4fa70]
SELECT Przedstawiciele.ImieINazwiskoPrzedstawiciela, SUM(if(Produkty.KlasaProduku = 'A' ,Sprzedaz.CenaJednostkowa * Sprzedaz.Ilosc,0)) as sum_a,
SUM(if(Produkty.KlasaProduku = 'B',Sprzedaz.CenaJednostkowa * Sprzedaz.Ilosc,0)) as sum_b,
FROM Sprzedaz, Produkty, Przedstawiciele
WHERE Produkty.IDProduktu = Sprzedaz.IDProduktu
AND (Produkty.KlasaProduku = 'A' OR Produkty.KlasaProduku = 'B')
AND Przedstawiciele.IDPrzedstawiciela = Sprzedaz.IDPrzedstawiciela
AND Sprzedaz.DataSprzedazy > '$Jaka¶Data'
AND Sprzedaz.DataSprzedazy < '$Jaka¶InnaData'
GROUP BY Sprzedaz.IDPrzedstawiciela
[/sql:1:5a5ed4fa70]
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.