我有一个古怪的查询问题。 我有一个在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';