create table a(id int,kskm char(1),ksfs int);
insert into a values(1,'A',80);
insert into a values(1,'B',75);
insert into a values(2,'A',90);
insert into a values(2,'C',70);
insert into a values(3,'B',66);
insert into a values(3,'D',55);
create table b (id int,xm varchar2(20),nl int,szqy int);
insert into b values(1,'张三',20,1);
insert into b values(3,'王五',19,2);
create table c (id int,xm varchar2(20),nl int,szqy int);
insert into c values(2,'李四',21,1);
create table d (id int,tel varchar2(18));
insert into d values(1,'13303333033');
insert into d values(2,'13304444044');
insert into d values(3,'13305555055');
select fs.id,mem.xm,mem.nl,fs.kskms,fs.kszf,d.tel
from
(select id,count(distinct kskm) kskms,sum(ksfs) kszf
from a group by id
) fs,
(
select * from b
union
select * from c
) mem,d
where fs.id=mem.id
and fs.id=d.id
|