Выберите наибольшую общую сумму в разных таблицах (Доступ)

У меня есть 2 таблицы: "продажи" и "услуги". В обеих таблицах есть следующие поля: клиент и сумма.

Мне нужно получить клиента с наибольшей общей суммой (сумма всех сумм) между датами в обеих таблицах.

Пример:

продажи

Мэри | 100 долларов

Джон | 200 долларов

Мэри | 200 долларов

услуги

Мэри | 40 долларов

Джон | 300 долларов

Если просуммировать все суммы каждого клиента, то получим:

Мэри | 340 долларов США

Джон | 500 долларов

Тогда клиент с наибольшей общей суммой: Джон

Но как я могу это сделать, используя запрос Access?

Заранее благодарю за любую помощь.


person aco    schedule 12.02.2010    source источник
comment
Похоже, у вас ошибка схемы, как по мне, услуги - это тип продаж, поэтому оба должны быть в одной таблице. Каждый раз, когда у вас есть две таблицы с одинаковыми столбцами, это должно быть красным флажком, что у вас, вероятно, есть одна сущность, хранящаяся в двух разных таблицах.   -  person David-W-Fenton    schedule 14.02.2010
comment
Это только базовый пример, чтобы лучше объяснить мои сомнения. Но реальный случай несколько иной. Обе таблицы имеют 30 различных полей, кроме total и customer.   -  person aco    schedule 15.02.2010


Ответы (1)


Я думаю, что запрос на объединение будет наиболее подходящим:

SELECT Top 1 Customer, Sum(Amount) As Total FROM
(SELECT Customer, Amount, Date FROM Sales
UNION ALL
SELECT Customer, Amount, Date FROM Services)
WHERE Date Between Date() AND Date()-30
GROUP BY Customer
ORDER BY Sum(Amount) DESC
person Fionnuala    schedule 12.02.2010
comment
Во-первых, я попробовал этот запрос и работает нормально! :-) Большое спасибо за оба ответа (Remou и Rossfabricant) С уважением - person aco; 13.02.2010