Jest to podwojenie, ponieważ tytuł powtarza się w tabelach funduszy i przychodów. To mnoży liczbę rekordów, w których pasuje. Łatwo to zobaczyć, jeśli usuniesz funkcje agregujące i spojrzysz na surowe dane. Zobacz tutaj
Sposobem na obejście tego jest utworzenie wbudowanych widoków agregatów i dołączenie do tych wyników.
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
wyjście
| TITLE_ID | REVENUE | COST | INTEREST |
----------------------------------------
| 1 | 30 | 11 | 30 |
| 2 | 30 | 11 | 30 |
| 3 | 30 | 11 | 30 |
| 4 | 30 | 11 | 30 |