skanuj0342 (2)

skanuj0342 (2)



Rozdział 12. ♦ Tworzenie bazy w praktyce 357

SELECT Zamówieni a.Id. 'Tytuł'. 'Ilość'

FROM Książki Zamówienia, Książki. Zamówienia WHERE KsiazkiZamowienia.'Książkald' = Książki.Id AND

KsiazkiZamowienia.'ZamówienieId' = Zamówienia.Id AND Zamówieni a.Status = 0 ORDER BY Zamówieni a.Id;

Efekt jej działania został zaprezentowany na rysunku 12.8.

Rysunek 12.8.

Pobranie szczegółów

niezrealizowanych

zamówień


mysql> SELECT Zamówieni a.Id, 'Tytuł', 'Ilość'

-> FROM KsiazkiZamowienia, Książki, Zamówienia -> WHERE KsiazkiZamowienia.'Książkald' = Książki .Id AND ->    KsiazkiZamowienia. 'Zamówi eni el d' = Zamówieni a. Id AND

->    Zamówienia.Status = 0

-> ORDER BY Zamówienia.Id;

Id


Tytuł


Ilość


Lovelock

Uczeń skrytobójcy Uczeń skrytobójcy Wolfs Brother The Windsingers Królewski skrytobójca Lovelock

Uczeń skrytobójcy Uczeń skrytobójcy Dotyk zła


10 rows in set (0.00 sec)

Dowiedzmy się także, jaka jest wartość zamówień dla książek poszczególnych autorów. Przy okazji policzymy, ile egzemplarzy książek danego autora zostało sprzedanych. Jak się domyślamy, ponownie niezbędne będzie odpowiednie grupowanie i złączanie tabel, jak również wykorzystanie funkcji sumującej. Niezbędne dane znajdziemy w tabelach KsiazkiZamowienia, Książki i Autorzy. Całe zapytanie będzie miało postać; SELECT Autorzy.Nazwa AS Autor,

SUM(Książki Zamówienia.'II ość' * Książki Zamówienia.Cena) AS 'Wartość',

SUM(KsiazkiZamowienia."Ilość') AS 'Ilość'

FROM KsiazkiZamowienia. Książki. Autorzy, KsiążkiAutorzy WHERE KsiazkiZamowienia.'Książkald' ■ Książki.Id AND Książki.Id = KsiążkiAutorzy.'Książkald' AND Autorzy.Id - KsiążkiAutorzy.Autorld GROUP BY Autorzy.Id ORDER By Autorzy.Id:

A efekt jego działania został zaprezentowany na rysunku 12.9.

Na zakończenie dowiedzmy się, ile książek i na jakie kwoty zamówili poszczególni klienci. Tym razem informacje znajdziemy w tabelach Klienci, Zamówienia i Książki -Zamówienia. Zastosujemy złączenie i funkcję sumującą, analogicznie do poprzednich przykładów. Zapytanie pobierające szukaną przez nas informację będzie miało postać: SELECT Klienci.Id, Imię. Nazwisko,

SUMtKsiazkiZamowienia.Cena * KsiazkiZamowienia.'Ilość') AS 'Wartość'.

SUM(KsiazkiZamowienia.'Ilość') AS 'Liczba książek'

FROM Klienci. Zamówienia. KsiazkiZamowienia WHERE Klienci.Id - Zamówienia.Klientld AND

Zamówienia.Id ■ KsiazkiZamowienia.'Zamówienield'

GROUP BY Klienci.Id ORDER BY Wartość DESC;


Wyszukiwarka

Podobne podstrony:
skanuj0336 (3) Rozdział 12. ♦ Tworzenie bazy w praktyce 351 oraz dwa klucze obce: ALTER TA8LE Książk
skanuj0328 (2) Rozdział 12. ♦ Tworzenie bazy w praktyce 343 Żadnego problemu nie sprawi nam również
skanuj0330 (2) Rozdział 12. ♦ Tworzenie bazy w praktyce 345 CREATE TABLE Zamówienie( Id INTEGER AU
skanuj0332 (3) Rozdział 12. ♦ Tworzenie bazy w praktyce 347 oznaczać to będzie, że Jan Kowalski, And
skanuj0334 (3) Rozdział 12. ♦ Tworzenie bazy w praktyce 349 Rysunek 12.5. Szczegółowy diagram tabel
59281 skanuj0326 (2) Rozdział 12. ♦ Tworzenie bazy w praktyce 341 Relacja między klientami a zamówie
13879 skanuj0340 (3) Rozdział 12. ♦ Tworzenie bazy w praktyce 355 (9. 4. 2006-05-22’. NULL. 0). (10
77552 skanuj0338 (2) Rozdział 12. ♦ Tworzenie bazy w praktyce 353 ALTER TABIE Książki ADO INDEX Ksi
52297 skanuj0324 (2) Rozdział 12. ♦ Tworzenie bazy w praktyce 339 ♦    Książki — prze

więcej podobnych podstron