java中不唯一的表别名错误

时间:2014-04-25 11:58:22

标签: java mysql sql

我有两张桌子:

错误表

id, loc, no, mesg, psg, stu, auth

用户表

id, name, sname, ptg

id是主键,ptg和psg具有相同的记录,

这是我在Swing项目中使用的SQL语法,

String SQL = SELECT error.id, user.name, user.sname, error.loc, error.no, error.msg 
                FROM error, user
                WHERE error.stu = '1'
                AND (user.ptg = error.psg AND error.auth = '5'

错误是:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Not unique table/alias: 'error'

1 个答案:

答案 0 :(得分:0)

此查询中存在多个错误。 第一个也是最重要的是没有条件的JOIN子句:

“FROM error,user”

如果希望使用逗号而不是JOIN命令连接两个表,请将链接条件放在WHERE子句中:

“FROM error,user WHERE error.userid = user.id”

第二个错误是'1'之后的双引号(“)。删除它。

第三个错误是未关闭的括号“(”在最后一行。删除它。

试试这个并在此处发布结果。

干杯