SQLServer:构造SQL查询问题

问题描述 投票:0回答:1

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

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

通常,我想使用以下查询来检索B表中最早的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:缺少原点安置的主题

我不知道为什么。我的查询出了什么问题?

sql-server vbscript adodb
1个回答
0
投票

ORA -...是Oracle错误消息。而且Oracle没有top,您只需要使用前n行就可以获取

我想说您正在为Oracle DB使用T-SQL语言

© www.soinside.com 2019 - 2024. All rights reserved.