1
Ich habe 3 Tabellen Projekt, Zeiten und Kosten. Ich möchte alle 3 von ihnen beitreten und Summe berechnen sowie alle übereinstimmenden Datensätze abrufen.PHP, MySql Join 3 Tabellen, und berechnen SUM
Hier sind meine Tabellen:
projects:
id name
=====================
1 First Project
2 Second Project
times:
id project_id hours billed
===================================================
1 1 2.0 1
2 1 3.0 0
3 2 4.30 0
expense:
id project_id amount billed
==================================================
1 1 120.00 0
2 2 35.00 1
3 2 55.00 0
4 2 45.00 0
und hier ist meine Frage:
SELECT
SUM(t.hours) as total_hours,
SUM(e.amount) as total_amount,
p.name
FROM
`projects` AS p
LEFT JOIN `expense` AS e
ON e.project_id = p.id
LEFT JOIN `times` AS t
ON t.project_id = p.id
WHERE t.billed = 0
AND e.billed = 0
GROUP BY p.id;
Aber aus irgendeinem Grund kann ich nicht machen es zu arbeiten, habe ich am Ende ohne Datensätze auf.
Name Total Hours Total Expense
==============================================
First Project 3.00 120.00
----------------------------------------------
Second Project 7.30 100.00
----------------------------------------------
Diese sind wirklich INNER JOIN,
Das Ergebnis etwas aussehen sollte wie EXPLAIN EXTENDED gefolgt von SHOW WARNINGS würde demonstrieren. – Strawberry
@colburton Die Aliase sind eigentlich korrekt, es war ein Tippfehler mit Tabellennamen. Ich habe meinen Beitrag aktualisiert. – Alko