日期:2014-05-18  浏览次数:20410 次

求助,SQL查询语句的问题
select   TOP   5   *   from   Picnews,photo   where   photo.picid=Picnews.picid   and   onoff= 'yes '   order   by   photo.picid   desc ",   this.picview

  Picnews表关键结构如下
      picid       picclass     A   ………………
      标识列

  photo表结构如下
    photoid     picid     path
      标识列


    其中Picnews存贮的是作品记录,photo表里存储了所有图片的地址,数量不限制,通过photo.picid来调用。

 
  目前是这样写的,在GridView里显示最新上传的图片,可以正常显示,

  问题是,如果发的是组图,就会显示组图里的前5张

  而我想只显示前5个组图的第一张图,也就是显示前5个作品集的第一张图

  直接修改SQL语句可以实现吗?如果可以,怎么实现?

  捆饶了好几天,实在不知道怎么修改

  请指点一下,谢谢

------解决方案--------------------
可以,如下,
select TOP 5 * from Picnews t1
JOIN (select distinct picid, * from photo) t2
on t1.picid=t2.picid and onoff= 'yes ' order by t2.picid desc

但是,这样无法指定要取哪一张图片
select distinct picid, * from photo

你最好增加一个地段表示,要默认显示的图片

------解决方案--------------------
select top 1...不行?
------解决方案--------------------
加上order by