什么意思?b表的fid是和a表的id相同吧,“但是重复”也就是说,a表的同一个id是多个b表的fid?
如果是这样,没有什么影响,只不过结果集会是一对多的现实
select B.*
from a A left join b B
on A.id = B.fid
select min(b.pic) as pic
from b join a on b.fid=a.id
group by b.fid
select * from b where b.fid in(select a.id from a)