不是唯一的表/别名'GPS'

时间:2014-01-16 13:44:28

标签: java mysql sql

这是我的表的创建:

  "CREATE TABLE GPS ("+
               "id int NOT NULL AUTO_INCREMENT,"+
               "name VARCHAR(30),"+
               "x REAL,"+"y REAL,"+
               "PRIMARY KEY (id)"+")";   

我有这个查询,当我尝试执行它时,有一个异常“不唯一的表/别名” 我试图改变一切,但异常仍然存在!

"SELECT GPS.ID,GPS.NAME,GPS.X,GPS.Y,POI.ID,"+
                "POI.TYPE FROM GPS JOIN POI"+
                "ON POI.ID=GPS.ID"+
                "WHERE("+ 
                "(X BETWEEN "+xaxis+"-"+sett.getR()+" AND "+xaxis+"+"+sett.getR()+
                ") AND (Y BETWEEN "+yaxis+"-"+sett.getR()+" AND "+yaxis+"+"+sett.getR()+"))";

2 个答案:

答案 0 :(得分:1)

确保在实际查询中有空格,例如:

"POI.TYPE FROM GPS JOIN POI"+"ON POI.ID=GPS.ID
"POI.TYPE FROM GPS JOIN POI"+" ON POI.ID=GPS.ID

这将导致实际查询为:

选择GPS.ID,GPS.NAME,GPS.X,GPS.Y,POI.ID,POI.TYPE来自 GPS加入POI.ID = GPS.ID(...)

我不认为POION是表名。

答案 1 :(得分:0)

创建查询的语法是正确的,只需尝试,
DROP TABLE IF EXISTS GPS
在执行create table query之前。