| 发表于:2007-06-01 13:05:4013楼 得分:5 |
create table da ( budid nvarchar(10) , imgid nvarchar(10), imgtypeid nvarchar(10), default_yn nvarchar(10)) insert into da select 1 , 2 , 1 , 'n ' insert into da select 1 , 3 , 1 , 'y ' insert into da select 1 , 4 , 2 , 'n ' insert into da select 2 , 5 , 2 , 'n ' insert into da select 2 , 6 , 1 , 'y ' select a.* from da a inner join ( select budid , imgtypeid ,min(case when default_yn= 'y ' then 0 else imgid end ) as imgid from da group by budid,imgtypeid) b on a.budid=b.budid and a.imgtypeid=b.imgtypeid and (case when a.default_yn= 'y ' then 0 else a.imgid end)=b.imgid --result 1 3 1 y 1 4 2 n 2 6 1 y 2 5 2 n | | |
|