MS SQL - UPDATE i INNER JOIN (Pomocy :))

0

Siema
Chciałbym dowiedzieć się od ogarniętych bardziej niż ja programistów czy aspirujących programistów baz danych jak zrobić następującą rzecz:
''Posiadam dwie tabele Bufor_Polisy - gdzie trzymane są dane zawarte w polisach oraz Ubezpieczenia_Taryfy - gdzie trzymane są dane na temat stawki procentowej podporządkowanej pod wskazany model i markę samochodu oraz pakiet.
Chcę uczynić tak, że gdy użytkownik wprowadzi nową polisę do bazy i poda następujące kluczowe dane: "ID_Ubezpieczenia", "Marka", "Model", "Suma Ubezpieczenia" to kolumna składka_zl update'uje się na następującą = suma_ubezpieczenia * stawka_osoba (kolumna z Ubezpieczenia_Taryfy''
Rzeźbię takie coś i niestety kolumna skladka_zl pozostaje na poziomie 0.00 domyślnie:

UPDATE bp
set bp.skladka_zl = suma_ubezpieczenia * ut.skladka_firma
From Bufor_Polisy bp
INNER JOIN Ubezpieczenia_taryfy ut
ON bp.ID_Ubezpieczenia = ut.ID_Ubezpieczenia
where ut.Marka_s = 'Golf' and ut.ID_Ubezpieczenia = 'PAK_ACTV'

Jak to ogarnąć? Mile widziane jakieś praktyczne przykłady.

0

Czesc
Przykladzik.


insert into TbUbTaryf values (1,'Fo', 'Mo', 100.50, 120000  );
insert into TbUbTaryf values (2,'Fi', 'Mi', 25.50, 120000  );

declare @i float = (select SumaUb * stawka from TbUbTaryf where IDubezp = 1);

insert into TbBuforPolis values
(1, @i)
insert into TbBuforPolis values
(2, 0)

update TbBuforPolis set skladka = (select SumaUb * stawka from TbUbTaryf where IDubezp = 2)
where IdUbezp = 2

Select * from TbBuforPolis
select * from TbUbTaryf

Wynik:
IdUbezp skladka


1 12060000
2 3060000

(2 row(s) affected)

IDubezp Marka Model stawka SumaUb


1 Fo Mo 100,5 120000
2 Fi Mi 25,5 120000

(2 row(s) affected)

Pozdro

1 użytkowników online, w tym zalogowanych: 0, gości: 1