Vocẽ não disse o banco, mas quanto sua dúvida, laço no banco tem o termo de cursor pesquise a respeito…
Porém seu uso é desencorajado tendo em vista questões de desempenho…
Quanto ao seu problema, já pensou usar inner join? ex em mysql
SELECT
f.nome AS FUNCIONARIO,
p.mes AS MES_PAGTO,
p.valor AS VAL_PAGTO,
FROM funcionarios f
INNER JOIN pagamentos p on p.func_cod = f.func_cod
ORDER BY f.nome ASC, p.mes DESC LIMIT 5
Ordenei o mes de pagto em decrescente (tendo em vista que o campo seja inteiro por ex jan 1 a dez 12) e limitados a 5…
O campo func_cod seria o “elo” que exista nas duas tabelas para vinculá-las…
Obs: ja adiantando, caso você me diga que o campo de data do pagto seja date/datetime, há funções que extraem apenas o mẽs para você…
...
ORDER BY f.nome ASC, MONTH(p.data_pagto) DESC LIMIT 5
Ou simplesmente pela data completa também funciona…
ORDER BY f.nome ASC, p.data_pagto DESC LIMIT 5