Вниз
Скачать: CL | DM;

Уважаемые...   Найти похожие ветки 

 
Border   (2003-10-26 22:44) [0]

Клиенты(КодКлиент,название)
Договор(КодДоговора,КодКлиент)
Заказано(кодЗаказано,КодДоговора,Сумма)- что заказано в договоре
Оплата(КодОплата,кодДоговора,Сумма)- оплата по договору

Запрос на определние задолженности
SELECT Клиенты.Название, Договор.КодДоговор, Sum([Заказано]![Сумма])- Sum([Оплата]![Сумма]) AS Долг
FROM Клиенты INNER JOIN (Договор INNER JOIN [Оплата] ON Договор.КодДоговор = Оплата.КодДоговора) ON Клиенты.КодКлиента = Договор.КодКлиента
WHERE Договор.КодДоговора=:КодДоговор
GROUP BY Договор.КодДоговор;

сначала считает нормально, при условии что есть записи в таблице оплата, а потом смотришь - и значение удвоилось, утроилось..что делать, и как обработать исключительную ситуацию отсутствия записей в таблице Оплата.
Мне приходится делать два запроса - один на определение суммы по договору, второй - - по оплате, а потом их уже сравнивать. но это же коряво!!!


 
Border   (2003-10-26 22:45) [1]

Может есть другой путь определения долга?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.023 c
3-41031
Zalk
2003-10-15 13:23
2003.11.13
Чем отличаются ADOQuery и ADOCommand?


1-41620
Kif
2003-10-26 13:29
2003.11.13
Как обратиться из Delphi к Dll написанной на фортране..


14-41924
Нурик
2003-10-21 08:52
2003.11.13
Нужно взломать PDF


1-41697
Endi
2003-11-02 16:17
2003.11.13
Почтовик по умолчанию


1-41615
Layner
2003-10-22 13:20
2003.11.13
Как округлить число с 5 знаками после запятой до 3х знаков?




   Наверх