有三张数据表,结构如下:
人员表:人员姓名,人员id
销售表:人员id,时间,销售金额
花费表:人员id,时间,花费金额
写一条SQL语句,完成下面的统计结果:
人员姓名,总花费,总销售
注意:需要使用子查询,三张表关联不行,会出现重复数据。
create table user(id int,name varchar(20));
insert into user values(1, 'A');
insert into user values(2, 'B');
create table sale(userid int,sale_time date, sale_money double);
insert into sale values(1, '2019-2-21', 1000);
insert into sale values(1, '2019-2-22', 600);
insert into sale values(2, '2019-2-23', 1500);
insert into sale values(2, '2019-2-24', 800);
create table cost(userid int,cost_time date, cost_money double);
insert into cost values(1, '2019-2-23', 900);
insert into cost values(1, '2019-2-24', 800);
insert into cost values(2, '2019-2-25', 1400);
insert into cost values(2, '2019-2-26', 1600);
select user.name, sum(sale_money)
from user, sale
where user.id=sale.userid
group by user.id;
select user.name, sum(sale_money)
from user, sale
where user.id=sale.userid
group by user.id;
select t1.name, 总销售额, 总花费额 from (
select user.id as id, user.name as name, sum(sale_money) as 总销售额
from user, sale
where user.id=sale.userid
group by user.id
) t1, (
select user.id as id, user.name, sum(cost_money) as 总花费额
from user, cost
where user.id=cost.userid
group by user.id
) t2
where t1.id = t2.id