-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


sql запрос

Понедельник, 30 Июля 2018 г. 11:33 + в цитатник
Никак не пойму как сделать запрос. Есть таблица "Оказанные услуги", есть "Оплата" этих услуг. Может быть несколько записей Оплаты на одну Оказанную услугу, может не быть вообще. В Оказанных услугах есть Код клиента. Нужно сделать выборку "Код клиента" и его долг (СтоимостьУслуги - сумма его платежей).

SELECT [Оказанные услуги].КодКлиента, Sum(Оплата.СуммаОплаты) AS paid
FROM [Оказанные услуги] LEFT JOIN Оплата ON [Оказанные услуги].Код = Оплата.КодУслуги
GROUP BY [Оказанные услуги].КодКлиента;

куда здесь вставить Стоимость услуги, внутрь суммы не получится,будет считать неправильно, снаружи Стоимость услуги-Sum, то выражение не будет частью статистической функции или группы

Попробовал сделать так

SELECT [Оказанные услуги].КодКлиента, ([Оказанные услуги].СуммаОплаты-Nz((SELECT Sum(Оплата.СуммаОплаты) AS [Sum-СуммаОплаты] FROM [Оплата] where Оплата.КодУслуги=[Оказанные услуги].Код),0)) AS debt
FROM [Оказанные услуги], Оплата
GROUP BY [Оказанные услуги].КодКлиента, [Оказанные услуги].Код, [Оказанные услуги].СуммаОплаты;
считает правильно, но не могу сгруппировать по Коду клиента, если убрать из группировки Код и Сумму Оплаты, тогда вложенный селект будет ругаться

http://www.sql.ru/forum/1299952/sql-zapros


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку