java - SQL Azure 和 JAVA 不想运行查询

标签 java azure azure-sql-database

我在JAVA中有以下语句:

String query = "SELECT H.Name as Name, R.RacesWon as Race FROM Horses AS H, Conditions AS C, Races AS R"+ "WHERE H.ID = R.HorseID AND C.ID = R.ConditionID";

我已连接到 SQL Azure 数据库,其中包含 3 个表HorsesConditionsRaces

我刚刚加入,但遇到了这个异常:

com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near 'H'.

我不知道为什么,我已经尝试了HorsesRacesConditions的所有可能性,而不是使用AS的H、C、R ,没有AS没有成功。

此外我还跑过:

String query = "SELECT Name  FROM Horses WHERE ID = 1";

还好。

有什么建议吗?

最佳答案

您遇到一些串联问题。正如 @lrb 在评论中指出的那样:

R"+ "WHERE

等于RWHERE,这会导致错误。

也可以使用SQL92语法而不是带有 inner join

的 SQL89

尝试:

String query = "SELECT 
                   H.Name as Name,
                   R.RacesWon as Race 
                 FROM Conditions as C
                 inner join Races AS R on C.ID = R.ConditionID
                 inner join Horses AS H on R.HorseID = H.ID";

关于java - SQL Azure 和 JAVA 不想运行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22545264/

相关文章:

database - 使用 SQL Azure 部署 Microsoft Access 应用程序

当我们在 Visual Studio 2019 中创建 dacpac 文件时,Azure 数据仓库物化 View 出现问题

java - 我怎样才能返回我的主类?

Java 的 "forEach"到 Scala

c# - 如何在队列级别设置 MaxDequeueCount

azure - 从虚拟网络网关中删除点到站点

Azure存储队列-处理时间长

sql-server - 如何处理 "remapping can only be done for users that were mapped to Windows or SQL logins"

java - OpenShift 上的 OutOfMemoryError

java - Scala 在 if/else 语句中返回对象类型