现有 A(id,name)表,B(aId,bId,bName)表
期望得到的查询结果是:
id bId name bName
1 1 张三 张大大
同时限制B表的记录数为3条
我的sql为
select
a1.* , b1.bId , b1.bName
from
a a1
left outer join b b1
on a1.id=b1.aId
where
b1.id in (select bId from b where aId=a1.id limit 0,3 )
B表为外连接
这样查询是错误的(limit 错误),有人能够指点一下吗,该语句最好能够优化一下
------解决思路----------------------
SELECT a1.*,b1.bid,b1.name
FROM a a1
LEFT JOIN b b1 ON a1.id=b1.aid
WHERE (SELECT COUNT(1)FROM b b2 WHERE b1.aid=b2.aid AND b1.bid>b2.bid)<3