1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
create table echange
(
user1 int not null,
user2 int not null,
quantity int not null
);
go
create view v_solde_echange (user1, user2, debit, credit)
as
select tmp.user1, tmp.user2, sum(tmp.debit), sum(tmp.credit)
from
(
select user1, user2, quantity debit, 0 credit
from echange
union all
select user2, user1, 0, quantity
from echange
) tmp
group by tmp.user1, tmp.user2;
go
insert into echange (user1, user2, quantity) values (1, 2, 512), (2, 1, 133), (2, 3, 15);
go
select * from echange;
select user2, debit, credit from v_solde_echange where user1 = 2; |
Partager