如何限制仅选择一行的内部联接或子查询?因为看起来我不能在子版本中使用我的Sybase版本(Sybase版本:Adaptive Server Enterprise / 15.5 / EBF 19902)中的“前1名”。
实施例
select * from A a
inner join B b on a.id = b.Aid
其中表B有两个链接到表A的记录(相同的Aid)。但是我只想加入其中一个记录。
我尝试用子查询替换内连接并使用top 1,但这是不允许的。
答案 0 :(得分:0)
我在这里找到了一个解决方案:https://www.periscopedata.com/blog/4-ways-to-join-only-the-first-row-in-sql.html
select * from A a
inner join (select * from B b where b.Aid in (select min(Aid) from B group by Aid) )
as b on b.Aid = a.id