Solução de Carlos muito simplificada e corrigida (sua solução retornaria as primeiras 5 linhas, não as últimas ...):
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
No MySQL, você pode usar
tB1.textB
mesmo que seja agrupar por consulta, porque você está agrupando pelo idB na primeira tabela, portanto, há apenas um valor único de tB1.textB
para cada grupo...