2017-07-24 1 views
0

Ich habe 3 Tabellen, Transaktionen, Clubs und Kunden kann ein Verein nur einen Verkäufer und jeder Kunde kann nur gehören Ein Club, die Kunden machen Zahlungen in der Transaktionen Tabelle.SELECT SUM und COUNT, aus verschiedenen Tabellen auf derselben Zeile, PHP und MySQL

Ich versuche, eine Liste aller Verkäufer zu erhalten, wie viele Zahlungen pro Club und den Gesamtbetrag der Zahlung pro Club an einem bestimmten Datum.

Ich bekomme nur eine Zeile, mit dem ersten Verkäufer, und die Summe für alle, weiß nicht, wie man jede Zeile mit den Summen von jedem einzelnen Verkäufer bekommt. Vielen Dank für Ihre Zeit.

+--------------------------------------------+ 
|    transactions    | 
+--------------------------------------------+ 
| id_transaction | date | amount | client_id | 
+----------------+------+--------+-----------+ 

+------------------------------+ 
|   clients   | 
+------------------------------+ 
| id_client | name | club_name | 
+-----------+------+-----------+ 

+-----------------------------------+ 
|    clubs    | 
+-----------------------------------+ 
| id_club | name_club | name_seller | 
+---------+-----------+-------------+ 

SELECT 
    transactions.amount, 
    clients.id_client, 
    clubs.club_name, 
    club.name_seller, 
    SUM(transactions.amount) AS sum_amount, 
    COUNT(transactions.amount) AS count_amount, 
    club.name_seller AS salesman 
FROM transactions, members, clubs 
WHERE transactions.date = '$date' 
AND clients.id_client = transactions.client_id 
AND client.club_name = clubs.name_club 


<th>Salesman</th> 
<th>Club Name</th> 
<th>Number of Transactions</th> 
<th>Total amount</th> 

$output.='<td>'.$row['salesman'].'</td>'; 
$output.='<td>'.$row['club_name'].'</td>'; 
$output.='<td>'.$row['COUNT(amount)'].'</td>'; 
$output.='<td>'.$row['SUM(amount)'].'</td>'; 

Das ist, was ich versuche, Beispiel:

Salesman - Vereinsname - Anzahl der Transaktionen - Gesamtbetrag
Bill - Tennisclub - 5-5000 Bill - Golf Club - 7 - 7000 Joe - Pool Cub - 2 - 2000

+0

Ich kann nicht sehen, wie Sie bei 5000 ankommen – Strawberry

Antwort

0

Sie haben in yo Gruppe von Anweisung verwenden Ihre Abfrage (Wenn Sie Verkäufer basieren möchten, können Sie Verkäufer ID setzen)

Ich denke, Sie haben die Namen der Tabellenstruktur vor dem Posten der Frage geändert. Also, ich kann die Primary & Fremdschlüssel nicht verstehen.

+0

Danke, mit der "Group By" es funktioniert gut. – Raychu150

Verwandte Themen