跨服务器的SQL Server查询连接仅适用于WHERE语句

时间:2016-10-07 11:02:32

标签: sql-server sql-server-2008

我有一个古怪的查询问题。 我有一个在AS400 / Iseries SQL中开发的脚本,我需要将其复制到SQL Server。其中一个步骤需要我从SQL Server上的工作表加入到链接服务器AS400 / Iseries上的表。

所以我在SQL Server上针对本地表ROWS01和链接服务器AS400 / Iseries表(SBWWEP)运行它。

返回Nothing: -

SELECT R.Company, 
       G.Company, 
       R.GRN, 
       G.GRN,

FROM [SQLDBase].dbo.ROWS01 R INNER JOIN AS400.ISERIES.LIBRARY1.SBWWEP G
           ON  R.Company = G.Company AND
               R.GRN     = G.GRN

WHERE R.Pos_Type = '2-GRN Single';

它在SQL Server上不返回任何行,但执行相同任务的原始AS400 / Iseries脚本会返回批量。

我提了一下,发现连接在SQL Server上不起作用,除非我在WHERE条件中放置了一个文字。为什么是这样???

返回大量行: -

SELECT R.Company, 
       G.Company, 
       R.GRN, 
       G.GRN,

FROM [SQLDBase].dbo.ROWS01 R INNER JOIN AS400.ISERIES.LIBRARY1.SBWWEP G
       ON  R.Company = G.Company AND
           R.GRN     = G.GRN

WHERE R.Pos_Type = '2-GRN Single';
AND   G.Company = '52' 
AND   G.Company > '000000';

0 个答案:

没有答案