create table tgrade (
fstuid varchar2(10),
scourseid varchar2(10),
f_grade int null,
Primary Key(fstuid,scourseid)
);
insert into tgrade values ('1', '2', 1);
insert into tgrade values ('2', '3', 1);
insert into tgrade values ('3', '4', 1);
insert into tgrade values ('4', '5', 1);如何过滤出fstuid和scourseid的并集,即1,2,3,4,5
我写的sql为什么不起作用
select num
from (
select distinct fstuid as num
from tgrade
union all
select distinct scourseid as num from tgrade)
fstuid varchar2(10),
scourseid varchar2(10),
f_grade int null,
Primary Key(fstuid,scourseid)
);
insert into tgrade values ('1', '2', 1);
insert into tgrade values ('2', '3', 1);
insert into tgrade values ('3', '4', 1);
insert into tgrade values ('4', '5', 1);如何过滤出fstuid和scourseid的并集,即1,2,3,4,5
我写的sql为什么不起作用
select num
from (
select distinct fstuid as num
from tgrade
union all
select distinct scourseid as num from tgrade)
from (
select distinct fstuid as num
from tgrade
UNION
select distinct scourseid as num from tgrade)
ORDER BY NUM;
union all不会去重复行
再或者最前面在加个distinct 不就得了..
如下即可:select fstuid num from tgrade
union
select scourseid num from tgrade或者:select distinct fstuid num from tgrade
union
select distinct scourseid num from tgrade