create table a(bigclassid int,bigclass varchar(10))
insert into a values(1, '台式机')
insert into a values(2, '笔记本')
insert into a values(3, '服务器')
create table b(smallclassid int,smallclass varchar(10),bigclassid int)
insert into b values(1 , '联想' , 1 )
insert into b values(2 , '清华同方', 1 )
insert into b values(3 , 'ibm' , 3 )
insert into b values(4 , '明基' , 2)
insert into b values(5 , '华硕' , 1 )
insert into b values(6 , '三星' , 2 )
insert into b values(7 , '索尼' , 2 )
insert into b values(8 , '富士通' , 2 )
insert into b values(9 , '浪潮' , 3)
insert into b values(10, '强氧' , 3 )
go
select a.bigclass,b.smallclass from a,b where a.bigclassid = b.bigclassid order by a.bigclassid
/*
bigclass smallclass
---------- ----------
台式机 联想
台式机 清华同方
台式机 华硕
笔记本 三星
笔记本 索尼
笔记本 富士通
笔记本 明基
服务器 ibm
服务器 浪潮
服务器 强氧
(所影响的行数为 10 行)
*/
select case when b.smallclassid=(select min(smallclassid) from b where bigclassid=a.bigclassid) then a.bigclass else '' end as bigclass , b.smallclass from a,b where a.bigclassid = b.bigclassid order by a.bigclassid , b.smallclassid
/*
bigclass smallclass
---------- ----------
台式机 联想
清华同方
华硕
笔记本 明基
三星
索尼
富士通
服务器 ibm
浪潮
强氧
(所影响的行数为 10 行)
*/
drop table a,b