Fragen Sie SUM für zwei Felder in zwei verschiedenen Tabellen ab

Ich versuche festzustellen, wie man Felder zwischen zwei Tabellen summiert.

In Tabelle 1 werden wir es kurz gegevens nennen, ich hätte zum Beispiel gegevenID, vertrekdatum, prijs

In Tabelle 2 nennen wir es Gebühren, ich hätte zum Beispiel feeID, gegevenID, betrag

Ich möchte die Werte für prijs basierend auf year (vertrekdatum) von gegevens nehmen und summieren.

Ich hatte versucht, einen LEFT JOIN zu machen, und es funktionierte, bis zwei Datensätze für dieselbe gegevenID in der Gebührentabelle waren. Dann verdoppelte es die prijs.

Tabellenbeispiel:

GEGEVENS
----------------------------------
gegevenID | vertrekdatum | prijs |
----------------------------------
|      1  | 2011-01-01   |1385.88|
|      2  | 2011-03-01   | 450.26|
|      3  | 2012-01-01   |2505.10|
----------------------------------

FEES
----------------------------
feeID | gegevenID | amount |
----------------------------
|   1 |         2 |   50.00|
|   2 |         2 |  126.00|
|   3 |         3 |   50.00|
----------------------------

Die Ergebnisse, die ichwollen sind

TOTALS
--------------------------------------------
| year | SumOfPrijs | SumOfFees |  Total   |
--------------------------------------------
| 2011 |  1836.14   |   176.00  |  2012.14 |
| 2012 |  2505.10   |    50.00  |  2555.10 |
--------------------------------------------

Diese Abfrage führte zu den doppelten "prijs", wenn berücksichtigt wurde, dass die Gebührentabelle für eine gegevenID zwei Zeilen enthielt.

SELECT sum(prijs) as SumOfPrijs, sum(amount) as SumOfFees, sum(prijs)+sum(amount) AS   
Total, year(vertrekdatum) as year
FROM tbl_vluchtgegevens vg
LEFT JOIN tbl_fees f
ON f.gegevenID = vg.gegevenID

WHERE vertrekdatum <=NOW()
GROUP by year(vertrekdatum)

Irgendwelche Gedanken wären toll.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage