Как получить Непогашенный остаток, используя дебетовый кредит - PullRequest
0 голосов
/ 08 ноября 2019

Я хочу получить непогашенный остаток для всех подрядчиков и поставщиков, использующих дебетовый кредит, но проблема в том, что существует несколько номеров документов, поэтому я не могу связать их с дебетовым кредитом, чтобы получить баланс.

Я пытался связатьcdvno, но проблема в том, что было несколько записей, так что есть ли возможность связать их друг с другом

SELECT b.amount,a.cdvno, a.debit, a.credit, a.Debit + a.Credit - b.amount 'balance'
    FROM cdvdtl a left join
         cdvhdr b
         on b.cdvno = a.cdvno and b.trantype = a.trantype

я хочу, чтобы результат был таким, если это возможно, только с 1 выводом cdvno

amount          cdvno           debit      credit      balance
15000.00    000-2016-02000009   0.00       15000.00 0.00
15000.00    000-2016-02000009   15000.00    0.00    0.00

но результат такой:

amount  cdvno              debit    credit  balance
596.64  000-2016-01000617   0.00    596.64  0.00
596.64  000-2016-01000617   0.00    6.03    -590.61
596.64  000-2016-01000617   602.67  0.00    6.03

пример данных в моей таблице1 cdvdtl дебетовый кредит cdvhdr

Ответы [ 2 ]

0 голосов
/ 08 ноября 2019

Если я правильно понимаю, вот одно решение, использующее union all для разделения записей и получения 2 строк на cdvno с балансом debit и балансом credit.

select a.cdvno, a.debit, a.credit, a.credit + a.debit - coalesce(b.bamount,0)
from (
    select cdvno, debit, sum(credit) credit, trantype
    from cdvdtl  
    where debit = 0
    group by cdvno, debit, trantype
    union all
    select cdvno, sum(debit) debit, credit, trantype
    from cdvdtl  
    where credit = 0
    group by cdvno, credit, trantype
) a left join cdvhdr b
     on b.cdvno = a.cdvno and b.trantype = a.trantype
0 голосов
/ 08 ноября 2019

Я не понимаю логику, стоящую за столбцом [сумма], так как она, похоже, не соответствует математике, работающей с дебетом или кредитом.

Но можно использовать один из способов справиться с ситуацией разброса дебетов и кредитов. сгруппировать по

    select amount, cdvno, sum(debit) as [debit], sum(credit) as [credit],sum(balance) as [balance] from [tablename] group by cdvno
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...