我在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 个表Horses
、Conditions
和 Races
。
我刚刚加入,但遇到了这个异常:
com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near 'H'.
我不知道为什么,我已经尝试了Horses
、Races
和Conditions
的所有可能性,而不是使用AS的H、C、R ,没有AS没有成功。
此外我还跑过:
String query = "SELECT Name FROM Horses WHERE ID = 1";
还好。
有什么建议吗?
最佳答案
您遇到一些串联问题。正如 @lrb 在评论中指出的那样:
R"+ "WHERE
等于RWHERE
,这会导致错误。
也可以使用SQL92语法而不是带有 inner join
尝试:
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/