Opa! Um mês depois, já acabaram as eleições ahauhauaha, mas quem sabe seja útil para a próxima. Primeiro, não há necessidade de criar as tabelas e2000, e2004, e2008 e e2012, basta criad uma tabela, eleicao por exemplo, e nela um campo com o ano. Na tabela de dados você cria um campo PK (Chave primária) com um código identificando o candidato. Depois na tabela eleicao você vai inserindo registros referente aos resultados das eleições, lembrando de usar uma FK (Chave estrangeira) vinculando o candidato ao dado da eleição. Depois, na consulta você faz assim: Se quiser que venha algo como NOME, PARTIDO, NUMERO, ANO, VOTOS JOSÉ DA SILVA, PTESTE, 99999, 2000, 150 JOSÉ DA SILVA, PTESTE, 99999, 2004, 168 ETC... Use uma consulta assim: SELECT D.nome, E.partido, E.numero, E.ano, E.votos FROM dados AS D LEFT JOIN eleicao AS E ON(D.cod = E.cod); Se quiser que venha algo como: NOME, PARTIDO, NUMERO, 2000, 2004, 2008, 2012 JOSÉ DA SILVA, PTESTE, 99999, 150, 168, 201, 259 JOÃO DA SILVA, PTESTE2, 98111, 102, 130, 98, 302 ETC... Use uma consulta assim: SELECT D.nome, E.partido, E.numero, SUM(IIF(E.ano = 2000, E.votos, 0)) AS 2000, SUM(IIF(E.ano = 2004, E.votos, 0)) AS 2004, SUM(IIF(E.ano = 2008, E.votos, 0)) AS 2008, SUM(IIF(E.ano = 2012, E.votos, 0)) AS 2012 FROM dados AS D LEFT JOIN eleicao AS E ON(D.cod = E.cod) GROUP BY D.nome, E.partido, e.numero;