PHP i MySQL dla każdeg:
PHP i MySQL dla każdeg:
Rysunek 12.6.
Zapytanie pobierające sumaryczną wartość zamówień
mysql> SELECT SUH(Cena ‘'Ilość') AS 'Wartość zamówień' -> FROM KsiazkiZamowienia;
I Wartość zamówień |
I 810.63 |
1 row in set (0.00 sec)
tabel Książki i KsiazkiZamowienia. Nie możemy też zapomnieć, że w tabeli Książki-Zamówienia w pojedynczym wierszu zapisana jest cena oraz liczba zamówionych książek, a zatem, podobnie jak w poprzednim przypadku, niezbędne będzie wymnożeniej tych wartości:
SELECT Id. 'Tytuł'. SUM(KsiazkiZamowienia.Cena * KsiazkiZamowienia.'Ilość') i AS 'Wartość zamówień'
FROM KsiazkiZamowienia. Książki
WHERE KsiazkiZamowienia.'KsiążkaId'=Ksiazki.Id
GROUP BY 'Książkald'
OROER BY 'Tytuł':
Dodatkowo wyniki zostały posortowane rosnąco względem kolumny Tytuł, tak jak jest to widoczne na rysunku 12.7. Oczywiście nic nie stoi na przeszkodzie, aby posortować wyniki względem kolumny Wartość zamówień, co będzie wymagało zastosowania klauzuli ORDER BY w postaci:
ORDER BY 'Wartość zamówień'
Rysunek 12.7.
Sumaryczna wartość zamówień dla każdego tytułu
mysql> SELECT Id. ]Tytuł',_SUM(KsiazkiZamowienia.Cena -> AS 'Wartość zamówień'
-> FROM KsiazkiZamowienia, Książki
-> WHERE KsiazkiZamowienia. 'KsiążkaId'=Ksiazki.Id
-> GROUP BY 'Książkald'
-> ORDER BY 'Tytuł';
KsiazkiZamowienia. 'Ilość')
I Id | Tytuł
| Wartość zamówień |
Bez pożegnania Dotyk zła Gra Endera Jeden fałszywy ruch Królewski skrytobójca
Misja Błazna Najczarniejszy strach The Limbreth Gate The Windsingers Uczeń skrytobójcy Uczeń skrytobójcy Wolf1s Brother Zadomowienie
rows in set (0.00 sec)
W tabeli wynikowej występuje dwukrotnie tytuł Uczeń skrytobójcy, gdyż w ofercie mamy tę książkę, wydaną przez dwa różne wydawnictwa (zwróćmy uwagę na to, że co prawda tytuł jest ten sam, ale identyfikator z kolumny Id — różny).
Znajdźmy teraz zamówienia i przypisane do nich tytuły, które zostały złożone, ale jeszcze nie zrealizowane. Tego typu zamówienia mają w polu Status wpisaną wartość 0. Trzeba będzie zatem wykonać złączenie tabel KsiazkiZamowienia, Książki i Zamówienia. Cała operacja zostanie wykonana za pomocą instrukcji: