to 鱼兄: 用sql2000中的Northwind数据库的orders表做例子 用临表的方法做了一个例子,笨了一点,但可以实现你的目的,其实在sql中很多用常规难以做到的东东借助临表都可解决:) 利用临表还有其他的编程方法,可完成不仅查询前三个的目的,需想一下,只是有个思路。 另:非临表的方法暂时还没想出来,各位版本及高手们该出手时就出手。 例子: select shipvia,max(orderid) as orderid
into #orders2
from orders
group by shipvia
select shipvia,max(orderid) as orderid
into #orders3
from orders
where orderid not in (select orderid from #orders2)
group by shipvia
select shipvia,max(orderid) as orderid
into #orders4
from orders
where orderid not in (select orderid from #orders2 union select orderid from #orders3)
group by shipvia select *
from #orders4
union
select *
from #orders3
union
select *
from #orders2 drop table #orders2
drop table #orders3
drop table #orders4 |