Es verdoppelt sich, weil Sie Titel in Fonds- und Ertragstabellen wiederholen. Dies multipliziert die Anzahl der Datensätze, bei denen es übereinstimmt. Dies ist ziemlich einfach zu erkennen, wenn Sie die Aggregatfunktionen entfernen und sich die Rohdaten ansehen. Siehe hier
Sie können dies umgehen, indem Sie Inline-Ansichten Ihrer Aggregate erstellen und sich an diesen Ergebnissen beteiligen.
SELECT R.title_id,
R.revenue,
R.cost,
F.interest
FROM (SELECT title_id,
Sum(revenue) revenue,
Sum(cost) cost
FROM revenue
GROUP BY revenue.title_id) r
LEFT JOIN (SELECT title_id,
Sum(interest) interest
FROM fund
GROUP BY title_id) f
ON r.title_id = F.title_id
Ausgabe
| TITLE_ID | REVENUE | COST | INTEREST |
----------------------------------------
| 1 | 30 | 11 | 30 |
| 2 | 30 | 11 | 30 |
| 3 | 30 | 11 | 30 |
| 4 | 30 | 11 | 30 |