У меня есть общие платежи в размере Store_ID
s в таблице и вам необходимо оплатить/скорректировать платежи с transactions_id
s для соответствующих store_id
s.Корректировка платежей по остаткам некоторая id wise
Таблицы могут быть созданы следующим образом:
--- CREATE STORE_PAYMENTS TABLE--- CONTAINS RECEIVABLE AGAINST RECEIPTS NOS FOR STROES-------
CREATE TABLE DBO.STORE_PAYMENTS
(STORE_ID VARCHAR(10) NOT NULL,
RECEIPT_NO VARCHAR(10) NOT NULL,
RECEIVABLE INT NOT NULL,
PAYMENT_ADJUSTED INT NOT NULL,
BALANCE INT NOT NULL)
GO
INSERT INTO DBO.STORE_PAYMENTS
(STORE_ID,RECEIPT_NO,RECEIVABLE,PAYMENT_ADJUSTED,BALANCE)
VALUES
('STR1',1,100,0,0),
('STR1',2,200,0,0),
('STR1',3,300,0,0),
('STR2',1,100,0,0),
('STR2',2,100,0,0),
('STR2',3,50,0,0),
('STR3',1,0,0,0),
('STR3',2,150,0,0),
('STR3',3,300,0,0)
---- CREATE STORE_BALANCE TABLE --- CONTAINS INFORMATION OF IN HAND PAYMENTS -----------------
CREATE TABLE DBO.STORE_BALANCE
(STORE_ID VARCHAR(10) NOT NULL,
PAYMENTS INT NOT NULL)
GO
INSERT INTO DBO.STORE_BALANCE
(STORE_ID,PAYMENTS)
VALUES
('STR1',600),
('STR2',700),
('STR3',300)
SELECT * FROM DBO.STORE_BALANCE
SELECT * FROM DBO.STORE_PAYMENTS
Последовательность регулировки оплаты может быть на основании приказа RECEIPT_NO или ROWID.
Обязательный выход в Отмечена важность Столбцы:
Совместное использование данных выборки в DDL + DML является большим, но вы также должны объяснить логику желаемых результатов, а также показать, что у вас есть уже пробовал. –
Почему str2 заплатил 700 за 250 счетов? – scsimon
Уважаемый Зохар, я попытался применить метод FIFO, используемый в бухгалтерском учете в SQL, но это было слишком сложно для этой проблемы. – TechPro