powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Нужна помощь с запросом
2 сообщений из 2, страница 1 из 1
Нужна помощь с запросом
    #32028852
Polevi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Необходимо собрать все движение денег в одном запросе

Есть 3 таблицы
1. Accounts (ID,Price,PaymentForm) - счета в продажах
2. MStream (ID,PaymentForm) - счета в платежах
3. AccMStream (AccID,MStreamID,Price) - деньги из платежей расписываются по продажным счетам
- AccID - ссылка на продажный счет, MStreamID - ссылка на платежный счет
4. PaymentForms (ID,Debet,FOType) - формы оплаты
- Debet=1 если сумма идет в дебет, Debet=0 если в кредит
FOType=135 если это форма оплаты в продажах, 206 - если в платежах

Необходимо написать запрос, который будет возвращать ID продажного счета, и сумму в дебете и кредите, брошенных на него

SELECT A.ID,
CASE PFIds.Debet
WHEN 1 THEN CASE PFIds.FOType WHEN 135 THEN A.Price WHEN 206 THEN AMS.Price END
ELSE 0
END AS Debet,
CASE PFIds.Debet
WHEN 0 THEN CASE PFIds.FOType WHEN 135 THEN A.Price WHEN 206 THEN AMS.Price END
ELSE 0
END AS Kredit

FROM Accounts A
LEFT JOIN AccMStream AMS ON AMS.AccID=A.ID
LEFT JOIN MStream MS ON MS.ID=AMS.MStreamID
JOIN PaymentForms PFIds ON (A.PaymentForm=PFIds.ID OR MS.PaymentForm=PFIds.ID)

Проблема в том, что если для счет в Accounts оплачивался несколькими записями в AccMStream то столько-же раз в выборку попадает его сумма

ID Debet Kredit

2355 31.5000 .0000
2355 .0000 10.0000
2355 .0000 1.0000
2355 .0000 1.0000
2355 31.5000 .0000
2355 31.5000 .0000
2457 2211.6000 .0000

То есть есть счет в Accounts стоимостью 31.5 и он оплачивался 3 записями в AccMStream - видно, что сумма 31.5 присутствует в выборке 3 раза...

Добрые люди, отзовитесь, должно же быть какое-нибудь решение..
Варианты с UNION не подходят, так как должна быть возможность группировки по Accounts.ID

serg@finco.spb.ru
...
Рейтинг: 0 / 0
Нужна помощь с запросом
    #32028889
Faza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй
select distinct...
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Нужна помощь с запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]