No, your logic is wrong here. Germans lost the battle of Stalingrad, so they lost the war. Russian won the battle, so they won the war. While Hannibal won the battle, but lost the war.
坎尼战役 (The Battle of Cannae )