Select Top 6 P.id,P.UId,P.Photo,P.PName,W.UId,W.CName from Products P inner join WUser W on W.UId=P.UId where P.id in 
(Select top 6 max(id),UId from Products group by UId)"
               ---------- 
             两者去掉一个

解决方案 »

  1.   

    去掉了不行啊,UId是用户ID啊!!!
      

  2.   

    如果能去掉就不用那么复杂了,不如用
    Select top 6 * from Products
    ????
      

  3.   

    问题就在这里:p.id只能对应一张表的一列!怎么不行呢?
    P.id in 
    (Select top 6 max(id),UId from Products group by UId)
      

  4.   

    Select top 6 * from Products
    更加错误。!!
      

  5.   

    我要实现的功能是从图片库 Products 表中选取六个不同用户的最新上传的照片
    联表 WUser 查出该用户的姓名
      

  6.   

    have a try:
    该了一下:
    Select  P.id,P.UId,P.Photo,P.PName,W.UId,W.CName
    from
    (Select top 6 max(id) id,UId from Products group by UId) P 
    inner join WUser W 
    on W.UId=P.UId
      

  7.   

    谢谢了,可以了,去掉一个就行了。
    Select Top 6 P.id,P.UId,P.Photo,P.PName,W.UId,W.CName from Products P inner join WUser W on W.UId=P.UId where P.id in 
    (Select top 6 max(id from Products group by UId)"
                   ---------- 
                 两者去掉一个顺便问一个,为什么这一句可以通过?
    Select top 6 max(id from Products group by UIdUId 没有包含在 Select 中啊??
    我记得上次我试过不行的,提示说:没有包含在Select语句中,能告诉我为什么吗?
      

  8.   

    (1)是不是 Group by 后面的字段可以不包含在 Select 中的?
    (2)是不是 Order by 后面的字段可以不包含在 Select 中的?
      

  9.   

    Select top 6 max(id) from Products group by UId当然能够通过了。这里又没有子查询。