ile kazdy klient złożył zamówień?, Jak podać łączną sumę zamówień każdego klienta na cukierki i kartofle? |
ile kazdy klient złożył zamówień?, Jak podać łączną sumę zamówień każdego klienta na cukierki i kartofle? |
7.03.2008, 14:59:12
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 20.11.2007 Ostrzeżenie: (0%) |
Tabela Cukierki zawiera zamówienia klientów na cukierki (tylko id klienta i datę zamówienia).
Tabela Kartofle zawiera zamówienia klientów na kartofle(tylko id klienta i datę zamówienia). Jak podać łączną sumę zamówień każdego klienta na cukierki i kartofle? Ktoś pomoże...? |
|
|
7.03.2008, 15:07:40
Post
#2
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 75 Dołączył: 19.08.2004 Skąd: Wrocław Ostrzeżenie: (0%) |
Wczytaj wyniki tych dwóch zapytań na poziomie PHP i dodaj je do siebie. -------------------- Idąc po czyichś śladach, nie zajdziesz ani kroku dalej...
|
|
|
7.03.2008, 15:10:54
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 20.11.2007 Ostrzeżenie: (0%) |
Ale jak to zrobić jednym zapytaniem, bez konieczności obrabiania tego phpem...?
|
|
|
7.03.2008, 15:47:47
Post
#4
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 29.06.2007 Ostrzeżenie: (0%) |
|
|
|
7.03.2008, 16:06:22
Post
#5
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 75 Dołączył: 19.08.2004 Skąd: Wrocław Ostrzeżenie: (0%) |
Ale jak to zrobić jednym zapytaniem, bez konieczności obrabiania tego phpem...? Pomijając fakt, że nie wiem, to wydaje mi się, że dwa proste SQL'e PHP'em będą bardziej wydajne niż złaczenie na poziomie SQL. -------------------- Idąc po czyichś śladach, nie zajdziesz ani kroku dalej...
|
|
|
7.03.2008, 16:06:29
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 20.11.2007 Ostrzeżenie: (0%) |
A tu sa tylko cukierki... A kartofle?
Ma zwracać listę klientów i zsumowane zamówienia klienta z obu tabel. |
|
|
7.03.2008, 16:32:21
Post
#7
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 2 Dołączył: 7.03.2008 Ostrzeżenie: (0%) |
|
|
|
7.03.2008, 16:37:00
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) |
Piszesz żeby napisać czy pomóc? Bo bez sprawdzania tego zapytania widać że błędne. -------------------- ”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335) |
|
|
7.03.2008, 16:42:53
Post
#9
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 20.11.2007 Ostrzeżenie: (0%) |
I żeby tę listę uszeregował od klienta, który złożył najwięcej zamówień (cukierki i kartofle razem), do najmniej zamówień.
|
|
|
7.03.2008, 17:05:23
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) |
To zapytanie daje wynik taki jaki chcesz osiągnąć. Warunek: Klient który złoży co najmniej jedno zamówienie na cukierki musi złożyć co najmniej jedno na kartofle. Jeśli to Ci nie odpowiada to dwa zapytania i dodawaj sobie w php.
Ten post edytował Jarod 7.03.2008, 17:17:51 -------------------- ”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335) |
|
|
7.03.2008, 17:23:01
Post
#11
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 20.11.2007 Ostrzeżenie: (0%) |
Dzięki za pomoc. Wczystko udało mi się jednak zamknąć w jednym zapytaniu. Problem z wartościami NULL usunąłem IFami.
SELECT if(cuk.cid>0, cuk.cid, if(kar.kid>0, kar.kid, 0 )) AS id, if(cuk.cile>0, cuk.cile, 0)+ if(kar.kile>0, kar.kile, 0) AS razem FROM (SELECT kartofle.id AS kid, count(kartofle.id) AS kile FROM kartofle GROUP BY kartofle.id) AS kar LEFT JOIN (SELECT cukierki.id AS cid, count(cukierki.id) AS cile FROM cukierki GROUP BY cukierki.id) AS cuk ON cuk.cid=kar.kid ORDER BY razem DESC |
|
|
Wersja Lo-Fi | Aktualny czas: 27.04.2024 - 20:08 |