Ajuda com SQL

4 respostas
fabiodurgante
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

4 Respostas

rmendes08

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.

fabiodurgante

isso ai mesmo agora pelo menso trocou o erro

net.sf.jasperreports.engine.JRException: Unknown column name : id_cliente

fabiodurgante
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
rmendes08

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