Я пытаюсь создать запрос, который суммируется на основе типа вывода и самой последней даты (из таблицы, которую я перечислил как c5 в SQL). Я также хочу, чтобы он суммировал общую сумму сбережений из таблицы c4. У меня есть следующие настройки:
c5:
+---------+------------+-----------------+------------+----------+
| Company | CashAmount | Withdrawal Type | Date | Interest |
+---------+------------+-----------------+------------+----------+
| A | 10 | Type1 | 02/28/2019 | 5 |
+---------+------------+-----------------+------------+----------+
| A | 20 | Type1 | 02/28/2019 | 1 |
+---------+------------+-----------------+------------+----------+
| B | 15 | Type2 | 01/31/2019 | 1 |
+---------+------------+-----------------+------------+----------+
c4:
+---------+---------+------------+
| Company | Savings | Date |
+---------+---------+------------+
| A | 5 | 02/28/2019 |
+---------+---------+------------+
| A | 5 | 02/28/2019 |
+---------+---------+------------+
| B | 16 | 01/31/2019 |
+---------+---------+------------+
| B | 12 | 02/28/2019 |
+---------+---------+------------+
| B | 1 | 01/31/2019 |
+---------+---------+------------+
| A | 3 | 12/29/2018 |
+---------+---------+------------+
Итак, на основании этого примера данных я бы хотел сгенерировать следующую таблицу:
+---------+-------------+-------------+--------------+
| Company | Total_Type1 | Total_Type2 | SumOfSavings |
+---------+-------------+-------------+--------------+
| A | 30 | 0 | 13 |
+---------+-------------+-------------+--------------+
| B | 0 | 0 | 29 |
+---------+-------------+-------------+--------------+
Я проверил запрос, используя следующий SQL, к сожалению, он не работает.
SELECT c4.company, Sum(iif(c5.[withdrawal type] = "type1" AND c5.[date] = max(c5.[date]), [c5].[CashAmount],0)) AS Total_type1, Sum(c4.Savings) as SumofSavings
FROM c004_table1 AS c4 LEFT JOIN c005_table2 AS c5 ON (c4.company = c5.company) AND (c4.[Date] = c5.[Date])
Group by c4.company;
Буду очень признателен за любой совет, как заставить его работать. Спасибо!