Boa Tarde a todos!
Seguinte, tenho a esta consulta sql:
private final String sqlListar = "SELECT * FROM tb_pedido p INNER JOIN tb_usuario u ON p.id_usuario = u.id INNER JOIN tb_pessoa pj ON p.id_cliente = pj.id";
Eu consigo executar ela normalmente, o problema está quando eu quero retornar um valor:
pedido.setId(rs.getInt("p.id"));
Segundo o erro que dá, minha coluna “p.id” não existe. Alguém sabe como eu faço pra pode pega cada coluna separadamente, mas elas tendo o mesmo nome ?
Obrigado.
Olha, na query não existe nenhuma referência à qualquer coluna com esta referência, apenas p.id_usuario
private final String sqlListar = "SELECT * FROM tb_pedido p INNER JOIN tb_usuario u ON p.id_usuario = u.id INNER JOIN tb_pessoa pj ON p.id_cliente = pj.id";
Por favor, me corrija se eu estiver errado.
Desculpe por não ter postado os atributos da coluna tb_pedido,
sao eles : id, id_cliente,id_usuario, data_entrega;
Na linguagem sql eu posso me referenciar a outras colunas por meio do “no nome da tabela”.“nome da coluna”, bom eu fiz isso só que na minha coluna tb_pedido eu utilizei o aliases p, logo isto deveria funcionar não é?
Sim, SQL permite esse alias.
Cara, qual o erro?
Já tentou apenas pedido.setId(rs.getInt("id"));
O problema é que eu tenho um campo id na tabela usuario, ou seja os dois tem o mesmo nome. Se eu fizer sem o alias, como ele vai retornar apenas o que eu quero?