Banco de dados com colunas "dinâmicas"

Olá, estou fazendo um programa, onde preciso de informações do banco de dados, porém a coluna deve ser dinâmica, ou seja, o usuário deve ter a opção de adicionar ou remover colunas,

a saída que encontrei para isso, foi fazer uma tabela só para os cadastros dos índices, que contém:
ID, Data, Indice e id_coluna, sendo que essa é uma foreign key da tabela que contém id_coluna e nome_coluna.

até então tudo bem, consegui fazer o cadastro certo, mas o meu problema é na hora da implementação de SELECTS para os usuários, eu tenho uma tabela com abstractTableModel, entretanto, como cada item está em uma unica linha, as linhas com a mesma data (que é uma primary key também) se repetem varias e varias vezes.

Gostaria de um método de implementação (basta me passar a lógica e onde implementar que eu faço o resto) para que a tabela mostre os dados todos de cada coluna em apenas uma linha da tabela.

Não postei o código aqui pois creio que por ser apenas a lógica não precisa de exemplos, mas se alguém resolver se aprofundar mais, eu agradeço imensamente, e posto o código aqui.

OBS: estou começando a usar JTables agora, então minha model é bem rústica, tanto que creio que algum if em especial no getValueAt já resolveria meu problema, mas não consegui implementar tal, então, caso seja alguma coisa nela, me fale também que eu posto o código aqui

Valeu galera