In sports tournaments, several teams compete with each other, and in the end, it will rank according to the final table of competitions. The results from the tournament will form the final tables. Because each match can obtain different results, a tournament can achieve different final tables. This article presents a systematic method for generating all possible scenarios for the final tables that a football tournament can achieve. In this research, we have only used the teams' results to produce the final tables, and other issues such as the number of goals scored or the goal difference have not been addressed. The proposed recursive method is suitable for functional programming and implemented using Haskell programming Language.