不唯一的表/别名:在查询Java程序中

时间:2013-01-12 17:31:44

标签: java mysql

我的项目中遇到mysql问题。 我觉得这里有点不对劲

rs = bd.consultar(
      "SELECT mensagens.assunto as 'Assunto', mensagens.texto as 'texto', usuarios.username as 'Para', mensagens.data_hora as 'Hora Data' "
       + "FROM mensagens, usuarios"
       + "WHERE mensagens.para = usuarios.idusuarios and mensagens.de = " + Login.getUsuarioAtual().getId() + ";");

        while (rs.next()) {
        mensagemTemp = new Mensagem(rs.getString("Assunto"), rs.getString("texto"),
                Login.getUsuarioAtual().getUsername(), rs.getString("Para"), rs.getDate("Hora Data"));

        enviadas.add(mensagemTemp);
    }

这是Erro:

    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Not unique table/alias: 'mensagens'
    ...
    at Banco_de_Dados.BancoDeDados.consultar(BancoDeDados.java:29)
        at Banco_de_Dados.BancoMensagem.mensagensEnviadas(BancoMensagem.java:93)
        at GUI.Mensagens.MensagensRecebidas.initComponents(MensagensRecebidas.java:101)
        at GUI.Mensagens.MensagensRecebidas.(MensagensRecebidas.java:27)
        at GUI.Login.jBentrarActionPerformed(Login.java:230)
        at GUI.Login.access$200(Login.java:20)
        at GUI.Login$3.actionPerformed(Login.java:171)
    ...

我在mysql中用java代码完成了查询,我的工作正常。 有人可以看错了吗?

抱歉我的英文

2 个答案:

答案 0 :(得分:1)

ow,我刚忘了一个空格+“来自menagens,usuarios”的查询,对不起打扰

答案 1 :(得分:0)

SELECT m.Assunto 
     , m.Texto 
     , u.username Para
     , m.data_hora `Hora Data`
  FROM mensagens m
  JOIN usuarios u
    ON u.idusuarios = m.username 
 WHERE m.de = Login.getUsuarioAtual().getId();