Problema ligação de tabelas

4 respostas
magemelli

Galera, preciso de ajuda de novo.... estou com um problema quando faço junção de tabelas

O erro é o seguinte...

-------------------------
org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544569. Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, column 184
PEDIDO
at org.firebirdsql.jdbc.AbstractStatement.executeQuery(AbstractStatement.java:228)
------------------------------------
EIS O CÓDIGO

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        
        Statement st;
        Connection con = conexao.getCon();
        ResultSet rs = null;
        String idproduto = jTextField1.getText();
                try {
         st= con.createStatement();   
        rs= st.executeQuery("SELECT PED.IDPEDIDO, CLI.NOME, PP.QTDE*PP.VLRUNITARIO-PP.VLRDESCONTO VALORVENDA, PP.QTDE*PROD.CUSTO VALORCUSTO, (PP.QTDE*PP.VLRUNITARIO-PP.VLRDESCONTO)-(PP.QTDE*PROD.CUSTO) TOTAL" +
                              "from PEDIDO PED " +
                              "LEFT OUTER JOIN PEDIDO_PRODUTO PP ON PP.IDPEDIDO = PED.IDPEDIDO" +
                              "LEFT OUTER JOIN CLIENTE CLI ON CLI.idcliente = PED.IDCLIENTE " +
                              "LEFT OUTER JOIN PRODUTO PROD ON PROD.IDPRODUTO = PP.IDPRODUTO"+
                              "WHERE PED.IDPEDIDO = '"+idproduto+"'"); 
            while (rs.next()){
                String dados =rs.getInt("IDPEDIDO") + "-NOME " + rs.getString("NOME")+ "-TOTAL VENDAS "+ rs.getDouble("VALORVENDAS") + "-TOTAL CUSTO "+ rs.getDouble("VALORCUSTO")+ "-TOTAL"+ rs.getDouble("TOTAL");
                jTextArea1.setText(jTextArea1.getText()+"Cliente " + dados+ "\n");                
            }
        }catch(SQLException sqle){
            JOptionPane.showMessageDialog(null, "Erro SQL");
            sqle.printStackTrace();
        } catch(Exception e){
            JOptionPane.showMessageDialog(null, "Erro na mostra de dados");
            e.printStackTrace();
        }

    }

4 Respostas

_Renatu

bom, ou o post veio errado, ou parece que voce esqueceu de espaços entre
“TOTAL” e “from”
“PED.IDPEDIDO” e “LEFT”
“PP.IDPRODUTO” e “WHERE”…

magemelli

olha, eu dei uma olhada, realmente tava sem os espaços mas eu coloquei, e o tive um outro problema...

org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544569. Dynamic SQL Error
SQL error code = -206
Column unknown
PROD.CUSTO
At line 1, column 95

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        
        Statement st;
        Connection con = conexao.getCon();
        ResultSet rs = null;
        String idproduto = jTextField1.getText();
        try {
            st= con.createStatement();
            rs= st.executeQuery(
                    "SELECT PED.IDPEDIDO, CLI.NOME, PP.QTDE*PP.VLRUNITARIO-PP.VLRDESCONTO VALORVENDA, PP.QTDE*PROD.CUSTO VALORCUSTO, (PP.QTDE*PP.VLRUNITARIO-PP.VLRDESCONTO)-(PP.QTDE*PROD.CUSTO) TOTAL " +
                    "FROM PEDIDO PED LEFT OUTER JOIN PEDIDO_PRODUTO PP ON PP.IDPEDIDO = PED.IDPEDIDO " +
                    "LEFT OUTER JOIN CLIENTE CLI ON CLI.idcliente = PED.IDCLIENTE " +
                    "LEFT OUTER JOIN PRODUTO PROD ON PROD.IDPRODUTO = PP.IDPRODUTO  " +
                    "WHERE PED.IDPEDIDO = '"+idproduto+"'");
            while (rs.next()){
                String dados =rs.getInt("IDPEDIDO") + "-NOME " + rs.getString("NOME")+ "-TOTAL VENDAS "+ rs.getDouble("VALORVENDAS") + "-TOTAL CUSTO "+ rs.getDouble("VALORCUSTO")+ "-TOTAL"+ rs.getDouble("TOTAL");
                jTextArea1.setText(jTextArea1.getText()+"Cliente " + dados+ "\n");
            }
        }catch(SQLException sqle){
            JOptionPane.showMessageDialog(null, "Erro SQL");
            sqle.printStackTrace();
        } catch(Exception e){
            JOptionPane.showMessageDialog(null, "Erro na mostra de dados");
            e.printStackTrace();
        }
        
    }
_Renatu

" Column unknown
PROD.CUSTO "

tá dizendo que nao reconheceu a coluna PROD.CUSTO. Tem certeza que ela existe?

magemelli

Olha o fiasco, eu estava usando duas tabelas, e ainda estava usando a errada!!! OBRIGADO KRA!!! me salvou um semestre…

:smiley:

Criado 3 de dezembro de 2007
Ultima resposta 3 de dez. de 2007
Respostas 4
Participantes 2