Resenje u jednom Update-u
01.03.2010. u 10:11 · pre 202 meseci
#1
MS SQL 2005. Prva tabela prikazuje recimo dugovanja po datumima, a druga uplate .
Potrebno je bez koristenja kursora po ID oduzimati uplate od zaduzenja tako da na kraju ostane recimo
id datum iznos
1 2010-01-01 00:00:00.000 0.00
1 2010-02-01 00:00:00.000 60.00
1 2010-03-01 00:00:00.000 100.00
1 2010-04-01 00:00:00.000 100.00
za ID = 1.
primer za test :
CREATE TABLE #prva
(id INT, datum DATETIME, iznosDuga MONEY)
CREATE TABLE #druga
(id INT, ukupnoUplatio MONEY)
INSERT INTO #prva VALUES (1,'2010-01-01',100)
INSERT INTO #prva VALUES (1,'2010-02-01',100)
INSERT INTO #prva VALUES (1,'2010-03-01',100)
INSERT INTO #prva VALUES (1,'2010-04-01',100)
INSERT INTO #prva VALUES (2,'2010-02-01',100)
INSERT INTO #prva VALUES (2,'2010-02-10',100)
INSERT INTO #prva VALUES (2,'2010-03-20',100)
INSERT INTO #prva VALUES (2,'2010-03-25',10)
INSERT INTO #prva VALUES (2,'2010-04-01',100)
INSERT INTO #prva VALUES (3,'2010-01-01',200)
INSERT INTO #prva VALUES (3,'2010-02-01',300)
INSERT INTO #prva VALUES (3,'2010-03-21',100)
INSERT INTO #druga VALUES (1,140)
INSERT INTO #druga VALUES (2,250)
INSERT INTO #druga VALUES (3,550)
ja sam nesto pokusavao, ali bez uspeha.
Hvala na pomoci, nadam se da ce resenje da koristi jos nekome.
p.s. potencijalno tabela #prva je velika tj ima cca nekoliko stotina hiljada id-ova i ovakav nacin bi drasticno ubrzao
Potrebno je bez koristenja kursora po ID oduzimati uplate od zaduzenja tako da na kraju ostane recimo
id datum iznos
1 2010-01-01 00:00:00.000 0.00
1 2010-02-01 00:00:00.000 60.00
1 2010-03-01 00:00:00.000 100.00
1 2010-04-01 00:00:00.000 100.00
za ID = 1.
primer za test :
CREATE TABLE #prva
(id INT, datum DATETIME, iznosDuga MONEY)
CREATE TABLE #druga
(id INT, ukupnoUplatio MONEY)
INSERT INTO #prva VALUES (1,'2010-01-01',100)
INSERT INTO #prva VALUES (1,'2010-02-01',100)
INSERT INTO #prva VALUES (1,'2010-03-01',100)
INSERT INTO #prva VALUES (1,'2010-04-01',100)
INSERT INTO #prva VALUES (2,'2010-02-01',100)
INSERT INTO #prva VALUES (2,'2010-02-10',100)
INSERT INTO #prva VALUES (2,'2010-03-20',100)
INSERT INTO #prva VALUES (2,'2010-03-25',10)
INSERT INTO #prva VALUES (2,'2010-04-01',100)
INSERT INTO #prva VALUES (3,'2010-01-01',200)
INSERT INTO #prva VALUES (3,'2010-02-01',300)
INSERT INTO #prva VALUES (3,'2010-03-21',100)
INSERT INTO #druga VALUES (1,140)
INSERT INTO #druga VALUES (2,250)
INSERT INTO #druga VALUES (3,550)
ja sam nesto pokusavao, ali bez uspeha.
Hvala na pomoci, nadam se da ce resenje da koristi jos nekome.
p.s. potencijalno tabela #prva je velika tj ima cca nekoliko stotina hiljada id-ova i ovakav nacin bi drasticno ubrzao