PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Java: select em duas tabelas. Como retornar uma única lista? #591100

03/02/2018

0

Boa noite pessoal;
Sou novo na programação em Java e estou com um problema para fazer um Select com dados de duas tabelas.
Tenho uma tabela Processos, com dados básicos e outra ProcessosDestaque, com dados mais específicos. Preciso fazer um select que chame algumas colunas dos dados básicos e outras dos dados específicos. Tentei fazer uma lista, mas só consigo chamar os dados de apenas uma tabela.
Na primeira tabela Processos, tenho as seguintes colunas: codGeral, classeProc, numProc, autorProc, ResumoProc.
A tabela ProcessosDestaque possui as seguintes colunas: codDest, codGeral(chave estrangeira), ementaProc, dispProc.
O método listarDest está assim:
public List listarDest()
{
List lst= new ArrayList<>();
List lstDest = newArrayList<>();
try
{
stmt = con.prepareStatement(“SELECT codigoGeral.Processos, classe.Processos, numProc.Processos, autor.Processos, codDest.ProcessosDestaques, ementaProc.ProcessosDestaque FROM ProcessosDestaque JOIN Processos ON ProcessosDestaque.codGeral = Processos.codGeral”);
rs = stmt.executeQuery();
while(rs.next())
{
ProcDestaques procdestaques = new ProcDestaques();
Proc proc = new Proc();
procdestaques.setCodDest(rs.getInt(1));
procdestaques.setCodGeral(rs.getInt(2));
proc.setClasse(rs.getString(3));
proc. setNumProc(rs.getString(4));
proc.setAutor(rs.getString(5));
procdestaques.setEmentaProc(rs.getString(6));
lstDest.add(procdestaques);
lst.add(proc);
}
stmt.execute();
rs.close();
con.close();
}
catch (SQLException e)
{
throw new RuntimeException(e);
}
return lstDest;
}
Alguém tem ideia de como fazer para o select retornar os dados das duas tabelas?
valeu!
Marcelo Marra

Marcelo Marra

Responder

Posts

05/02/2018

Douglas Sousa

Bom dia ,
Amigo você já rodou esse select direto no banco para ver se retorna alguma coisa posso esta errado mais achei bem estranho a parte dos campos do select

o seu esta dessa forma:
SELECT codigoGeral.Processos,
       classe.Processos,
       numProc.Processos,
       autor.Processos,
       codDest.ProcessosDestaques,
       ementaProc.ProcessosDestaque
  FROM ProcessosDestaque
  JOIN Processos
    ON ProcessosDestaque.codGeral = Processos.codGeral


não seria o certo dessa forma ?

SELECT Processos.codigoGeral,
       Processos.classeProc,
       Processos.numProc,
       Processos.autor,
       ProcessosDestaques.codDest,
       ProcessosDestaque.ementaProc
  FROM ProcessosDestaque
  JOIN Processos
    ON ProcessosDestaque.codGeral = Processos.codGeral


acredito que vc inverteu colocando o nome do campo e depois a tabela o correto é o contrario.

Responder

Gostei + 0

09/02/2018

Marcelo Marra

Valeu Douglas;

Depois de muitas horas trabalhar horas trabalhando no projeto com muitas tabelas, sabia que uma hora ia dar tilt e cometer um erro básico. Problema solucionado.

Administrador, pode marcar como resolvido.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar