没有为 't' 的列 2 指定任何列名称。

我想对一个表里的数据进行分组,然后选出最大的时间,很简单

SELECT GameId , MAX(AddTime) FROM [dbo].[MPlayHistory]  where  UserId=0 group by GameId 

然后我想和另一个表进行链接

 select
  [Id] as GameId, [Name] as GameName,[Avatar] as GameLogo,[EnterUrl] as GameUrl,t.*
 from [dbo].[MGameList] as m join ( SELECT GameId , MAX(AddTime) FROM [dbo].[MPlayHistory]  where  UserId=0 group by GameId ) as t
 on m.IsDeleted=0 and m.Id=t.GameId

结果报错了

后来才知道在这种情况下  空列名要加别名  然后就OK了

 select
  [Id] as GameId, [Name] as GameName,[Avatar] as GameLogo,[EnterUrl] as GameUrl,t.LastTime
 from [dbo].[MGameList] as m join ( SELECT GameId , MAX(AddTime) as LastTime FROM [dbo].[MPlayHistory]  where  UserId=0 group by GameId ) as t
 on m.IsDeleted=0 and m.Id=t.GameId 

 

posted on 2017-07-27 18:59  奔游浪子  阅读(4376)  评论(0)    收藏  举报

导航