Consulta com Chave Exportada

Gostaria de saber a maneira mas viável de se realizar uma consulta a tabelas com chaves exportadas e trazer o valor de referência!

tenho feito desta forma, mas é o mais funcional e elegante?

rsTabela2 = stm.executeQuery("select * from tabela where cliente = '" + cliente + "';");

if (rsTabela1.next){
while (!rsTabela2.isAfterLast){
rsTabela1 = stm.executeQuery("select * from tabela1 where id = " + rsTabela1.getInt("chaveTabela1") + ";");

JOptionPane.showMessageDialog("Nome Cliente: " + rsTabela2.getString('Nome") );
JOptionPane.showMessageDialog("Rua: " + rsTabela1.getString("Rua) );

}

} else {
JOptionPane.showMessageDialog(null, "Registro não Encontrado");
}

foi só um exemplo tosco que usualmente eu faço!
agradeço aqueles que contribuirem com a sua preciosa opnião

usa Hibernate :smiley:

mas eu aconselho você tentar usar uma query só

porque voce não faz um subselect ou um join

exemplo bem basico

“select * from tabela1 where id in (select * from tabela where cliente = '” + cliente + "’ );

isso ja traria toda a informação que voce quer de uma vez bastando voce ordenar como quiser usando um order by, mas essa solução depende do select, dependendo da situação pode ser melhor usar um join que vai ter um custo menor para o banco de dados e melhor performance.

Espero ter ajudado

Paulo

porque voce não faz um subselect ou um join

exemplo bem basico

“select * from tabela1 where id in (select tabela.id from tabela where cliente = '” + cliente + "’ );

isso ja traria toda a informação que voce quer de uma vez bastando voce ordenar como quiser usando um order by, mas essa solução depende do select, dependendo da situação pode ser melhor usar um join que vai ter um custo menor para o banco de dados e melhor performance.

Espero ter ajudado

Paulo