tenho uma consulta em java
public ResultSet listarRelVenda(String Nome_Cliente) {
String sql = "SELECT "+
" cliente.nome_cliente AS cliente_nome_cliente,"+
" produto.nome_produto AS produto_nome_produto," +
" produto.quant_produto AS produto_quant_produto," +
" produto.valor_produto AS produto_valor_produto," +
" itens_venda.quant_vendida AS itens_venda_quant_vendida," +
" itens_venda.valor_pagar AS itens_venda_valor_pagar," +
" venda.data_hora_venda AS venda_data_hora_venda" +
" FROM " +
"venda venda INNER JOIN cliente cliente ON venda.id_cliente = cliente.id_cliente" +
" INNER JOIN itens_venda itens_venda ON venda.id_venda = itens_venda.id_venda" +
" INNER JOIN produto produto ON itens_venda.id_produto = produto.id_produto" +
" WHERE UPPER(nome_cliente) LIKE ?";
try {
PreparedStatement stmt = getConexao().prepareStatement(sql);
stmt.setString(1, "%" + Nome_Cliente.toUpperCase() + "%");
ResultSet rs = stmt.executeQuery();
return (rs);
} catch (SQLException sQLException) {
System.out.println("Erro ao listar Cliente" + sQLException);
}
return null;
}
e o erro
Erro ao listar Clienteorg.postgresql.util.PSQLException: ERROR: column reference "nome_cliente" is ambiguous
alguem ajuda ai!!!!!!!!!!!
se eu largar bem assim no SQL do Postgre funciona e ali nao consegui
SELECT
cliente.nome_cliente AS cliente_nome_cliente,
produto.nome_produto AS produto_nome_produto,
produto.quant_produto AS produto_quant_produto,
produto.valor_produto AS produto_valor_produto,
itens_venda.quant_vendida AS itens_venda_quant_vendida,
itens_venda.valor_pagar AS itens_venda_valor_pagar,
venda.data_hora_venda AS venda_data_hora_venda
FROM
venda venda INNER JOIN cliente cliente ON venda.id_cliente = cliente.id_cliente
INNER JOIN itens_venda itens_venda ON venda.id_venda = itens_venda.id_venda
INNER JOIN produto produto ON itens_venda.id_produto = produto.id_produto
Ajuda com SQL
4 Respostas
Provavelmente o campo nome_cliente está em mais de uma tabela. Deixe explícito na linha 18 exatamente de qual tabela você quer ler o campo, tipo, nome_tabela.nome_cliente.
isso ai mesmo agora pelo menso trocou o erro
net.sf.jasperreports.engine.JRException: Unknown column name : id_cliente
RESOLVIDO funcionou beleza assim
String sql = "SELECT *, "+
" cliente.nome_cliente AS cliente_nome_cliente,"+
" produto.nome_produto AS produto_nome_produto," +
" produto.quant_produto AS produto_quant_produto," +
" produto.valor_produto AS produto_valor_produto," +
" itens_venda.quant_vendida AS itens_venda_quant_vendida," +
" itens_venda.valor_pagar AS itens_venda_valor_pagar," +
" venda.data_hora_venda AS venda_data_hora_venda" +
" FROM " +
"venda venda INNER JOIN cliente cliente ON venda.id_cliente = cliente.id_cliente" +
" INNER JOIN itens_venda itens_venda ON venda.id_venda = itens_venda.id_venda" +
" INNER JOIN produto produto ON itens_venda.id_produto = produto.id_produto" +
" WHERE UPPER(venda.nome_cliente) LIKE ?";
SQL maldito valeu ai pela ajuda
Nesse caso o erro já não é na consulta. O mecanismo do Jasper Reports não está conseguindo recuperar esse campo id_cliente.
Criado 22 de dezembro de 2008
Ultima resposta 22 de dez. de 2008
Respostas 4
Participantes 2
Alura O que é Python? — um guia completo para iniciar nessa linguagem de programação Acesse agora o guia sobre Python e inicie sua jornada nessa linguagem de programação: o que é e para que serve, sua sintaxe e como iniciar nela!
Casa do Codigo Engenharia de Prompt para Devs: Um guia para aprender a... Por Ricardo Pupo Larguesa — Casa do Codigo