数据库 Oracleaccount表
name money
a 100
b 0
c 100detail表
name type money
a 存款 100
a 取款 -200
a 存款 200界面展示用户 余额 存款 取款
a 100 300 -200
b 0 0 0
c 100 0 0需求其实很简单 查询出account中所有用户 然后更上明细
b,c用户没有明细 依然展示```我就被卡在这了!
希望知道的朋友帮忙下谢谢
建表语句create table Account
(
name varchar(1),
money number
);create table Detail
(
name varchar(1),
type varchar(4),
money number
);
insert into account values('a',100);
insert into account values('b',0);
insert into account values('c',100);insert into Detail values('a','存款',200);
insert into Detail values('a','取款',-200);
insert into Detail values('a','存款',100);
commit;
name money
a 100
b 0
c 100detail表
name type money
a 存款 100
a 取款 -200
a 存款 200界面展示用户 余额 存款 取款
a 100 300 -200
b 0 0 0
c 100 0 0需求其实很简单 查询出account中所有用户 然后更上明细
b,c用户没有明细 依然展示```我就被卡在这了!
希望知道的朋友帮忙下谢谢
建表语句create table Account
(
name varchar(1),
money number
);create table Detail
(
name varchar(1),
type varchar(4),
money number
);
insert into account values('a',100);
insert into account values('b',0);
insert into account values('c',100);insert into Detail values('a','存款',200);
insert into Detail values('a','取款',-200);
insert into Detail values('a','存款',100);
commit;
from account a left outer join (
select name,type,money from
(select name,type ,sum(money) money from detail group by name,type)
where type='存款'
) b
on a.name=b.name
left outer join (
select name,type,money from
(select name,type ,sum(money) money from detail group by name,type)
where type='取款'
) c
on a.name=c.name ;
sum(case when TYPE='取款 ' then p.money else 0 end) '取款 '
from Account T left join detail P on T.name=P.name group by t.name