У меня есть данные бухгалтерского учета в SQL. Это записи, сделанные для продажи, поэтому для каждой сделанной продажи существует компенсационная запись для стоимости товара. Когда покупатель покупает один и тот же продукт, но в разных количествах, у него будет одна и та же строка напоминания, только разная сумма для продаж и стоимости проданных товаров. В используемой нами системе учета она автоматически генерирует идентификатор транзакции в столбце TxnId только для строк продажи, а не для стоимости строк проданных товаров по неизвестной мне причине. Я извлекаю данные, используя следующий запрос:
SELECT
account,
name,
memo,
debit,
credit,
amount,
txnid,
refnum,
ROW_NUMBER() OVER (PARTITION BY memo, refnumber ORDER BY account,memo,abs(amount)) AS memo_group
FROM [dbo].[Table]
WHERE refnumber = '67175'
Полученная таблица выглядит следующим образом:
Account Name Memo Debit Credit Amount TxnID RefNum Row_Counter
Sales Company A Wingding 1 Null 855 855 5EASUC-X 12345 1
Sales Company A Wingding 1 Null 400 400 5EASUC-X 12345 2
CostofGoodsSold Company A Wingding 1 -650 Null -650 Null 12345 3
CostofGoodsSold Company A Wingding 1 -200 Null -200 Null 12345 4
Sales Company A Wingding 2 Null 760 760 5EASUC-X 12345 1
Sales Company A Wingding 2 Null 665 665 5EASUC-X 12345 2
CostofGoodsSold Company A Wingding 2 -600 Null -600 Null 12345 3
CostofGoodsSold Company A Wingding 2 -465 Null -465 Null 12345 4
Я пытаюсь назначить сумму кредита в строках продаж соответствующая стоимость проданных товаров строится в другом столбце при сохранении той же суммы для строки продаж. Я надеюсь получить таблицу, которая выглядит следующим образом:
Account Name Memo Debit Credit Amount TxnID RefNum Row_Counter New_Col
Sales Company A Wingding 1 Null 855 855 5EASUC-X 12345 1 855
Sales Company A Wingding 1 Null 400 400 5EASUC-X 12345 2 400
CostofGoodsSold Company A Wingding 1 -650 Null -650 Null 12345 3 855
CostofGoodsSold Company A Wingding 1 -200 Null -200 Null 12345 4 400
Sales Company A Wingding 2 Null 760 760 5EASUC-X 12345 1 760
Sales Company A Wingding 2 Null 665 665 5EASUC-X 12345 2 665
CostofGoodsSold Company A Wingding 2 -600 Null -600 Null 12345 3 760
CostofGoodsSold Company A Wingding 2 -465 Null -465 Null 12345 4 665
Я пытался использовать для этого функции windows, но безуспешно. У кого-нибудь есть предложения по способу сделать это?