java - java中的非唯一表别名错误

标签 java mysql sql

我有 2 张 table :

错误表

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'

最佳答案

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

“来自错误,用户”

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

“来自错误,用户 WHERE error.userid = user.id”

第二个错误是“1”后面的双引号 (")。将其删除。

第三个错误是最后一行中未闭合的括号“(”。将其删除。

尝试一下并在此处发布结果。

干杯

关于java - java中的非唯一表别名错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23292479/

相关文章:

python - SQLAlchemy 查询其中一行可能不存在

java - appengine Key.createKey(kind, id) 是否始终返回相同的结果?

java - Java ZonedDateTime.toInstant()行为

java - 如何在我的 java 项目中存储数据库密码和用户名?

mysql - MySQL Workbench 中的 ER 图是关系模型吗?

php - 一个父行,另一个表中的多个子行。如何将它们全部排成一排?

java - 创建自定义注释作为框架注释的别名?

java - 构建 IndexColorModel

mysql - update 和 select 查询一起更新同一个表中的表数据

php - Laravel 5.2 有条件更新数据库