我正在使用 java java.sql.* 从 SQLite DB 进行查询。我发现了一个问题,我将 sqlString 编写为:
SELECT n.Name as Name,
c.Value as Value0,
d.Value as Value1
FROM (Table1 c inner join Table2 n on c.NameID = n.ID),
Table3 d
WHERE c.RunID = 1
and d.RunID = 2
and c.NameID = d.NameID
该语句stmt.executeQuery(sqlQuery)
引发以下异常:
java.sql.SQLException: no such column: n.Name
at org.sqlite.DB.throwex(DB.java:288)
at org.sqlite.NativeDB.prepare(Native Method)
at org.sqlite.DB.prepare(DB.java:114)
at org.sqlite.Stmt.executeQuery(Stmt.java:89).............
Name
已经是 Table2 表的一部分。同样的语句在 SQLite 命令提示符下工作正常。但是当我删除左括号并尝试从java执行时,没有问题。知道为什么会这样吗?