2015-05-21 5 views
-1

Я новичок в мире баз данных и т. Д. Разработчик, который сделал POS моего магазина, взял большую сумму денег и больше не ответил мне. Мне нужно сообщить о моей дебиторской задолженности в конце квартала. Помогите с этим запросом в доступе. Я пробовал левый присоединиться, и он отлично работает, когда я присоединяюсь только к покупкам, но не к покупкам и платежам.SQL JOIN TWO TABLES WITH GROUP BY

ТАБЛИЦЫ:

CUSTOMERSTABLE: 
CUSTOMERID**********NAME 

PURCHASESTABLE: 
SALEID**********CUSTOMERID**********AMOUN******TDATE 

PAYMENTSTABLE: 
PAYMENTSID**********customerid*********amount******TDATE 

Результат должен показать все customerids (с имеющимися transations или нет), общая сумма покупок для каждого, общая сумма выплат по каждому, остаточную сумму (за вычетом два), он должен рассматривать только сделки до данного TDate

+0

Показать, что вы пытались –

ответ

0
SELECT cust.customerid, Sum(purch.Amount_charged) AS totalPurchases, Sum(pay.Payment_Made) AS SumOfPayment_Made 
FROM (cust INNER JOIN pay ON cust.customerid = pay.Account_Id) INNER JOIN purch ON cust.customerid = purch.Account_Id 
WHERE ((([purch].[TDATE]) Between '4/6/2015' And '5/18/2015')) 
GROUP BY cust.customerid; 
+0

Он имеет некоторые условия, в конце с TDate – Jacky

+0

вам право. Я отредактировал ответ – Mahmoud

+0

Спасибо за помощь, я попробовал, но у меня ошибка в «from clause». Я прикрепил свою базу данных здесь https://www.dropbox.com/s/e6of17s1rw7t94q/test.accdb?dl=0, возможно, вы можете взглянуть. Я не ленив или не ищу, чтобы ты выполнял мою работу, но я действительно пробовал это весь день. Я знаю очень мало, кроме нажатия запроса на запуск ... –