我有一个有 2 列的表,第一列是 PKey,第二列是标识符;分别是 BAN 和 IID。
我希望为每个不同的 BAN 提取前 2 个 IID。我在 From 中使用了一个子查询来获得工作正常的 Max(IID)。但是,当我尝试将表加入我的第一条语句以获得下一个最高 MAX(IID) 时,我得到:
“消息 4104,级别 16,状态 1,行 1 无法绑定多部分标识符“ii.iid”。
这是指我第二次加入“where iid < ii.iid”中的 Where 语句
select distinct ii.BAN, ii.IID, ii2.IID
from (select distinct BAN, IID = Max(IID) from Bill_Timeliness..Invoices with(nolock) group by BAN) II
join (select distinct BAN, IID = Max(IID) from Bill_Timeliness..Invoices with(nolock) where iid < ii.iid group by BAN) II2
on ii.ban = ii2.ban
我尝试将第一部分重新创建为 where 语句的第二个子查询。
我也试过 where iid < max(ii.iid)
这些都不起作用....如果有人可以在这里帮助我,我将不胜感激。
-本