Запрос суммы для двух полей в двух разных таблицах
Я пытаюсь определить, как сделать сумму полей между двумя таблицами.
В таблице 1 мыЯ бы назвал это gegevens для краткости, я бы, например, gegevenID, vertrekdatum, prijs
В таблице 2 мыназову это пошлинами, у меня будет, например, feeID, gegevenID, сумма
Я хочу взять и суммировать значения для prijs на основе года (vertrekdatum) из gegevens.
Я пытался сделать LEFT JOIN, и это работало, пока в плате не было двух записей для одного и того же gegevenID.с таблицей., тогда он удвоил стоимость.
Пример таблицы:
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|
----------------------------
Результаты, которые яхочу являются
TOTALS
--------------------------------------------
| year | SumOfPrijs | SumOfFees | Total |
--------------------------------------------
| 2011 | 1836.14 | 176.00 | 2012.14 |
| 2012 | 2505.10 | 50.00 | 2555.10 |
--------------------------------------------
Этот запрос привел к двойномуPrijs' с учетом того, что в таблице сборов для одного 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