Requête SOMME de deux champs dans deux tables différentes

Je suis en train de déterminer comment faire la somme des champs entre deux tables.

Dans le tableau 1, nous allons l'appeler gegevens pour faire court, j'aurais, par exemple, gegevenID, vertrekdatum, prijs

Dans le tableau 2, nous allons l'appeler frais, j'aurais , par exemple, feeID, gegevenID, montant

Je veux prendre et la somme des valeurs pour prijs basé sur l'année(vertrekdatum) à partir de gegevens.

J'avais essayé de faire une JOINTURE GAUCHE et cela a fonctionné jusqu'à il y a deux enregistrements pour le même gegevenID dans le tarif de la table d'., puis il a doublé la prijs.

Exemple de Table:

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|
----------------------------

Les résultats que j'ai voulez sont

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

Cette requête a abouti à la doublé 'prijs" lorsqu'il a pris en compte, il y avait deux lignes dans le tableau des frais à payer pour un gegevenID.

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)

Toute pensée serait génial.

OriginalL'auteur | 2013-08-09