SQL服务器:构造问题SQL查询

SQLServer: Problem with Construction SQL Query

我在使用 VBScript 执行 SQL 查询时遇到了一些问题。

我有一个 table A,其主键 (K_ID) 在另一个 table B 中被引用为外键 (FK_ID)。

通常我想检索 B table 中最早的 K_ID 的所有信息,使用以下查询:

SELECT * FROM B WHERE FK_ID in (SELECT TOP 1 K_ID FROM A WHERE USED <> 'Y' AND ENV = 'XXX' ORDER BY K_ID)

以上工作正常。

我现在想做的是检索第二老 K_ID 的信息,我正在尝试这个查询:

SELECT * FROM B WHERE FK_ID IN (SELECT TOP 1 K_ID FROM (SELECT TOP 2 K_ID FROM A WHERE USED <> 'Y' AND ENV = 'XXX' ORDER BY K_ID ) z ORDER BY K_ID DESC)

在 SQL Server Management Studio 中,这个查询运行得很好,我得到了我需要的答案。

现在,如果我使用 VBS 和 ADODB.Connection 尝试相同的查询,我会收到以下错误消息:
ORA-00923: mot-clé FROM absent à l'emplacement prévu

我不明白为什么。我的查询有什么问题?

ORA-... 是一条 Oracle 错误信息。而 Oracle 没有 top,你只需要使用 fetch first n rows

我会说您正在为 Oracle 数据库使用 T-SQL 语言