Also habe ich zwei Tabellen in meinem MySQL, Benutzer und Einkäufe.SQL Select Summe mit mehreren wo aus verschiedenen Tabellen
Benutzer Tabelle enthält ID, Name, Nachname und so weiter. Purchase-Tabelle enthält ID, User_id, Status und Summe für etwas bezahlt.
Was ich brauche, ist, aus diesen zwei Tabellen zu wählen, wo ich die Summe jedes Artikels haben würde, den jeder Benutzer gekauft hat.
Ich habe die ‚Benutzer‘ mit Tisch versucht:
LEFT JOIN 'purchases'
ON 'users'.'id' = 'purchases'.'user_id'
SELECT SUM (sum) FROM 'users', 'purchases' WHERE 'purchases'.'status' = 'completed' AND 'purchases'.'user_id' = 'users'.'id'
Aber damit ich die gleiche Summe für jeden Benutzer erhalten, was falsch ist. Was soll ich stattdessen schreiben?
Würde ich jede mögliche Hilfe sehr schätzen!
einige aktuelle Beispiel liefern, lässt dieses nehmen:
Users:
Id: 1 Name: John
Id: 2 Name: Ann
Purchases:
Id: 10 Status: completed User_id: 1 Sum: 4.00
Id: 20 Status: completed User_id: 1 Sum: 8.00
Id: 30 Status: completed User_id: 2 Sum: 50.00
Id: 40 Status: completed User_id: 2 Sum: 100.00
Nach dem Ausführen der Abfrage ich diese bekommen sollte:
Id: 1 Sum: 12.00
Id: 2 Sum: 150.00
Die Abfrage wurde über Laravel gemacht, also musste ich nur
einige Beispieltabellendaten hinzufügen, und das erwartete Ergebnis. Zeigen Sie uns auch die ganze Abfrage. – jarlh
Um 'Id: 1 Summe: 12.00 Id: 2 Summe: 150,00' zu erhalten, müssen Sie 'Benutzern' überhaupt nicht beitreten.Sie haben user_id in 'Käufe'. – Serg
Ein Anführungszeichen (') bezeichnet eine Zeichenfolge. Verwenden Sie Backticks ('), um Tabellen-/Spaltenidentifizierer zu bezeichnen. – Strawberry