我想在 MSSQL 2005 中使用带有 JTDS 的 Java 执行以下语句。我需要这样,因为我想显示位置 1-15、16-30 等的结果。
SELECT TOP 15 WID,AID,de FROM
(SELECT WID,AID, de, ROW_NUMBER() OVER (ORDER BY WID ASC) AS r_n_n
FROM [database].[dbo].[table1], [database].[dbo].[table2]
WHERE AID=Indicator) x WHERE r_n_n >= 1
当我在 Microsoft SQL Management-Studio 中复制此代码并执行它时,它会显示预期的结果。在Java中执行它时
s = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs = s.executeQuery(sql);
它说“无效的列名'Indicator'”。WID 和 AID 来自表 1。de 和 Indicator 来自表 2。我使用 Java 和 JDTS 进行了其他几个查询,它们都运行良好。只有那个带有 Join 的查询不起作用。我认为这与此有关,但我不知道是什么。
有人有想法吗?提前致谢并致以最诚挚的问候。
编辑:目前我使用 JTDS 1.2.5,但我也尝试了 1.3.0,但没有任何区别。