Много опростено и коригирано решение на Карлос (решението му ще върне първите 5 реда, а не последните...):
SELECT tB1.idA, tB1.idB, tB1.textB
FROM tableB as tB1
JOIN tableB as tB2
ON tB1.idA = tB2.idA AND tB1.idB <= tB2.idB
GROUP BY tB1.idA, tB1.idB
HAVING COUNT(*) <= 5
В MySQL можете да използвате tB1.textB
дори ако е група по заявка, защото групирате по idB в първата таблица, така че има само една стойност на tB1.textB
за всяка група...