我连接到带有3个链接服务器的SQL SERVER 2012
。我使用预先制作的查询来获取数据,但是提出查询的人没有实现我将需要的分页,所以我试图推动这个功能。有一点需要注意的是,我不知道链接服务器的版本。这可能是第一次使用链接服务器,所以我不熟悉它们的工作方式,但由于在我的机器上,我有2012版本,我尝试使用OFFSET
和FETCH
,但得到了无效令牌的错误。然后我被建议尝试在我的本地SQL SERVER 2008R2
上运行的语法,但是我也不能这么做,在这里。首先是工作代码:在工作查询中实现分页
select *
from openquery(linkedServer,
'
select
ORG.Id as ID,
ORG.FirstName AS "FirstName",
ORG.LastName as LastName
from YMFK.LK99Z ORG
left outer join YMFK.LK88Z Phone
ON ORG.Number = Phone.Number
AND Phone.Col = ''something'' AND Phone.Col = ''else''
inner join YMFK.L77Z ORL
ON ORG.Id = ORL.Id
where
ORG.FirsName like ''%Peter%'''
)
对不起,修改名称,但逻辑保持不变,所以我认为它不会是一个问题。
于是我尝试添加分页,像这样:
from (SELECT tbl.*, ROW_NUMBER() OVER(ORDER BY ID) AS
rownum FROM YMFK.LK99Z as tbl WHERE ORG.FirstName like ''%Peter%'') ORG
WHERE ORG.rownum BETWEEN 1 AND 10
我穿上的from YMFK.LK99Z ORG
的地方,也是消除where ORG.FirsName like ''%Peter%'''
。这段代码是什么我就先形成工作分页查询modfying它尽量少,但第一(原)查询工作,而第二(修改)查询是给我的错误
Column qualifier or table ORG undefined.".
我没有立刻得到错误像以前一样,但之后好像2-3secs我得到这个错误 - '功能不支持查询“' – Leron 2014-09-11 12:47:23
当您运行非常怎样就怎样。直接在远程服务器上查询相同的查询? – Paolo 2014-09-11 12:51:05
我正在远程服务器上运行它们。现在我正在使用'Ms SQL Management studio'并直接执行每个查询。 – Leron 2014-09-11 12:54:48