Metodo Java para printar tabela do BD - PostgreSQL

Olá, estou com um problema. Eu tenho um modelo de banco de dados com 3 tabelas dinamicas, pois bem, preciso criar um metodo em java que ja esta com o inicio pré-estabelecido que print cada linha da tabela. Exemplo: Loja01;100;100;50;0;250 .
Metodo pré-estabelecido: public void printReport(Date initialDate, Date endDate) { List<Sale> sales = getSales(initialDate, endDate); ... }
Imagem de exemplo da tabela no BD.

Link do BD para melhor entendimento

E? Qual a dúvida?

Então, eu não faço a menor ideia de como acessar os dados da tabela e retornar dessa forma que falei na pergunta. Pois tenho 3 tabelas, Sale, Store, Credit_Card, e e faça a junção das mesma com inner join. E uso uma função interna do postgreSql “jsonb_object_agg” para gerar as colunas com os nomes dos cartões.

1 - Estude SQL (especificamente DML), veja SELECTs, WHEREs, JOINs, etc.
2 - Estude JDBC

3 - Estuda sobre métodos de String java. Como por exemplo String.join: https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#join-java.lang.CharSequence-java.lang.CharSequence…-

Oi @darlan_machado, eu estudei, e estou estudando, mas nao consigo achar algo que indica como eu pego o valor da coluna pelo indice.Ele fica meio complexo porq uso esta função json para criar o modelo da tabela.Por exemplo, a coluna “Amex”, ela é um insert na tabela credit_card, e na tabela ela ‘virou’ uma coluna e esta relacionada com o tatal de vendas.É nisso que esto me perdendo, nao hora de imprimir no java, nao sei como fazer o for para ele percorrer todos os campos e ir imcrementando para alterar o indice.

Por que está usando função json? Para trazer naquele formato você pode trazer os dados normalmente e no Java usar String.join. Ou usar a função concat_ws do postgresql. De resto é lógica de programação.

SELECT
    concat_ws('; ', campo1, campo2, campo3) AS resultado 
FROM
    tabela;

https://www.postgresql.org/docs/9.1/static/functions-string.html

@javaflex, eu preciso tratar esses dados e deixar desse modo no proprio banco, é o que o exercico propoem.E eu usei a função json pq foi a unica que consegui, tentei usar a crosstab, mas tbm nao deu.É que nao sou experiente nessa area, sou iniciante, por isso estou com dificuldade exatamente na logica, nao sei como pegar o campo, do bd, ou melhor, nao sei ao certo qual quanto pegar.Minha logica é pegar o getNome de Store e os id de Sale e colocar dentro de um for. Nao sei se seria a maneira correta. Ou a melhor maneira.
Eu tenho um codigo mas ele imprime o nome da loja varias vezes e o nome do cartao.
segue: ` public void printReport (Date initialDate, Date endDate){

        List<Sale> sales = getSales (initialDate, endDate);
        
        for (Sale s:sales){
            
            Store st = s.getStore(); // Recupera a Loja
            
            CreditCard cc = s.getCreditCard(); // Recupera o Cartão

            System.out.println(st.getNome() + ";" + cc.getName() + ";" + s.getValor());
        }
}`

Esse codigo imprime da seguinte forma:
Loja01; visa; 100;
Loja01;master; 200 …etc…
Essa tabela eu nao tinha colocado o json para montar as colunas com os nomes dos cartões.
Desde ja obrigado.

Voce leu sobre a funcao concat_ws do PostgreSql?

@javaflex sim, pelo que entendi a função é para concatenar as colunas, até ai tudo bem.É que no meu bd estou usanso inner join para junção de tabelas, eu relaciono cada coluna com os nomes dos cartões e os valores.
Vc acha que o uso do json nao é a melhor opçao?

Opcao se voce apresentasse a necessidade de retornar no formato json. Esse formato “Loja01; visa; 100;” nao é json.

@javaflex, sim … esse foi o exemplo que eu dei, pq esse foi o codigo que eu consegui fazer. Mas eu preciso printar assim :
Loja01; 100;200;300;400; 1000;
Loja02; 100;100;100;100;400;
Que é exatamente como a função executa no postgresql, porem eu nao sei chamar isso no java.

Se nao sabe fazer um SELECT no Java, melhor você parar para estudar JDBC.

Ok. Obrigado pela dica.
E obrigado pela atenção até aqui.

Segue conteudo:

https://www.caelum.com.br/apostila-java-web/bancos-de-dados-e-jdbc/

Muito obrigado novamente!!
Irei estudar mais!!