Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] porbanie sumy kwoty zamowien dla danego kl
stal-sw
post
Post #1





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 27.06.2002
Skąd: Stalowa Wola

Ostrzeżenie: (0%)
-----


Witam.
Mam 2 tabele:
- klienci - client_id, nazwa, email
- zamowienia - order_id, Client_id, kwota_zamowienia,

I teraz mam problem z wysietleniem listy wszytkich klientow wraz z SUMA wszytkich zamowien jakie wykonali oraz liczbe zamowien kazdego klienta

Bardzo prosze o pomoc.
Bo ja anraize takie cos wykombinowalem i nei wiem jak laczyc COUNT oraz SUM z LEFTJOINami - a chyba te ostantie beda potrzebne w tym zpaytaniu questionmark.gif

  1. <?php
  2.  
  3. $prod = $db->get_results(&#092;"SELECT * FROM \".CLIENTS.\" a 
  4. LEFT JOIN &#092;".ORDERS.\" b ON b.client_id=a.client_id 
  5. $warunki $sqlord&#092;", ARRAY_A);  
  6.  
  7. ?>


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
jedrus4
post
Post #2





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 6.04.2005
Skąd: Międzyborów

Ostrzeżenie: (0%)
-----


Cytat(stal-sw @ 2005-05-27 13:34:34)
I teraz mam problem z wysietleniem listy wszytkich klientow wraz z SUMA wszytkich zamowien jakie wykonali oraz liczbe zamowien kazdego klienta

  1. SELECT klienci.client_id, klienci.email,
  2. count(zamowienia.order_id) AS ilosc_zamowien,
  3. sum(zamowienia.kwota_zamowienia) AS ilosc_zamowien
  4. FROM klienci INNER JOIN zamowienia ON klienci.client_id = zamowienia.client_id
  5. GROUP BY klienci.client_id


jesli chcesz miec rowniez uwzglednionych klientow, ktorzy nie skladali zamowien, wystarczy ze zamienisz INNER JOIN na LEFT JOIN.

pzdr

Ten post edytował jedrus4 27.05.2005, 15:17:04


--------------------
pozdrawiam
jedrus4
Go to the top of the page
+Quote Post
behemot
post
Post #3





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 17.07.2003
Skąd: Tarnów/Kraków

Ostrzeżenie: (0%)
-----


Witam,
  1. SELECT count(k.client_id) AS ilosc ,k.nazwa AS nzwa, sum(z.suma) AS suma
  2. FROM zamowienia z LEFT JOIN klient k ON (k.client_id = z.client_id) GROUP BY k.nazwa

Moze tak?


--------------------
Pozdrawiam,
kuba
Go to the top of the page
+Quote Post
jedrus4
post
Post #4





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 6.04.2005
Skąd: Międzyborów

Ostrzeżenie: (0%)
-----


Cytat(behemot @ 2005-05-27 14:16:18)
  1. SELECT count(k.client_id) AS ilosc ,k.nazwa AS nzwa, sum(z.suma) AS suma
  2.  
  3. FROM zamowienia z LEFT JOIN klient k ON (k.client_id = z.client_id) GROUP BY k.nazwa

grupujesz po nazwie klientow, a co bedzie jesli znajda sie dwaj klienci o tej samej nazwie smile.gif
tongue.gif

Ten post edytował jedrus4 27.05.2005, 15:20:19


--------------------
pozdrawiam
jedrus4
Go to the top of the page
+Quote Post
behemot
post
Post #5





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 17.07.2003
Skąd: Tarnów/Kraków

Ostrzeżenie: (0%)
-----


Racje :-) Moje niedopatrzenie, tak na szybko napisalem. :-)
Tak ma byc:
  1. SELECT count(k.client_id) AS ilosc ,k.nazwa AS nzwa, sum(z.suma) AS suma
  2. FROM zamowienia z LEFT JOIN klient k ON (k.client_id = z.client_id) GROUP BY k.client_id


Ten post edytował behemot 27.05.2005, 15:24:15


--------------------
Pozdrawiam,
kuba
Go to the top of the page
+Quote Post
stal-sw
post
Post #6





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 27.06.2002
Skąd: Stalowa Wola

Ostrzeżenie: (0%)
-----


Witam.
Nirestey mam problem:
Jak zmeinic to zapytanie z pierwszej dowpiedzi aby nazwy table w bazie byly w postaci ".ORDERS.", ".CLIENTS." oraz aby byla notacja w postaci a.client_id , b.kwota.....

Z gory dzieki za pomoc


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 10:41