如果一个fdFilmId只取一条记录,那么:
------------------------------------------------------------------
select
    a.*
from
    表 a
where
    not exists(select 1 from 表 where fdFilmId=a.fdFilmId and fdPosterID<a.fdPosterID)
    
orselect
    a.*
from
    表 a
where
    a.fdPosterID = (select max(fdPosterID) from 表 where fdFilmId=a.fdFilmId)

解决方案 »

  1.   

    没搞动楼主的意思,这种一般可能用 Group by 可以实现.
    能再详细点不?
      

  2.   

    如果要将一个fdFilmId对应所有的记录都取出来并合并到一条记录中,可以借助用户定义函数实现。
    楼主没有把表结构以及期望的输出数据描述清楚。
      

  3.   

    可能是我描述得不好,对我来说,好**的,一时转不过弯来表a是这样的  fdPosterID  int,identity,primary key,
      fdPicName   varchar()
      ....
      fdFilmID    int现在的情况就是这样的,fdFilmID就是每条记录[海报的路径信息]所对应的影片ID,举例如下:fdPosterID      fdPicName     fdFilmID    ....
    1               aaa.gif       1           ....
    2               aaa.gif       1           ....
    3               aaa.gif       2           ....大概样子就是这样,我想要取出fdPosterID      fdPicName     fdFilmID    ....
    1               aaa.gif       1           ....
    3               aaa.gif       2           ....
    楼上地明白?
    也就是说fdFilmID不能重复
    汗~~~
      

  4.   

    select min(fdPosterID) as fdPosterID,min(fdPicName) as fdPicName,fdFilmID    
    from tablename
    group by fdFilmID