У меня есть одна таблица с именем Data.
Data
Year Type Value
1 1 5
1 1 10
1 2 15
1 2 25
1 1 15
1 2 20
1 1 5
2 2 10
2 2 45
2 2 10
2 1 20
2 2 5
2 1 15
2 1 0
Я хотел бы за год суммировать все, что относится к типу 1 (sum1), и суммировать все, что относится к типу 2 (sum2), а затем разделить сумму1 на сумму2 и сгруппировать результат по годам. Для первого года это будет сумма1=(5+10+15+5=35), сумма2=(15+25+20=60), сумма1(35)/сумма(60)=0,58333. Полный вывод будет
Year Value
1 0.5833
2 0.5
Я пробовал следующий запрос, но он не работает. SELECT d.Year, a.Sum1/b.Sum2
FROM Data d,
(SELECT Data.Year, SUM(Value) AS Sum1 FROM Data WHERE Type=1 GROUP BY Data.Year) a,
(SELECT Data.Year, SUM(Value) AS Sum2 FROM Data WHERE Type=2 GROUP BY Data.Year) b
GROUP BY d.Year
Когда я запускаю запрос, я получаю You tried to execute a query that does not include the specified expression 'a.Sum1/b.Sum2' as part of an aggregate function.
Что я делаю неправильно в своем запросе?