无法绑定由多个部分组成的标识符。
select q.Id,q.Titlefrom (select q.Id,q.Title,ROW_NUMBER() over(order by q.PostTime desc) as row from Question q inner join Answer a on q.BestAnswerId=a.Id) a where row between 1 and 5
select Id,Titlefrom (select q.Id,q.Title,ROW_NUMBER() over(order by q.PostTime desc) as row from Question q inner join Answer a on q.BestAnswerId=a.Id) a where row between 1 and 5
select q.Id,q.Titlefrom (select q.Id,q.Title,ROW_NUMBER() over(order by q.PostTime desc) as row from Question q inner join Answer a on q.BestAnswerId=a.Id) a --这里起的别名是 q,上方select 用的是qwhere row between 1 and 5
[解决办法]
作为外表的a表,没有必要用q.id,q表是内表,你在外面也访问不到得。
[解决办法]
子查询在里面能用外面的别名。但不能在外面用子查询里面的别名
例
select * from tb1 awhere not exists(select * from tb2 b join b.id=a.id)--子查询在里面能用外面的别名。select * from a on a.id=b.id