下面的第一个函数使用 SQL INNER JOIN 提取每个数据行(例如L号) 与下面没有 JOIN 的第二个函数相比,从数据库中增加了两次。 我哪里错了?
Names Default To Here( 1 );
opnDtb = Function( {R, M, T}, {dtm},
dtm = Open Database(
"Driver=SQL Server;
Server=ABCD-EFGH;
DATABASE=myDB;
Trusted_Connection=Yes;",
"SELECT SM.[LNo], SM.[TestDate] AS [orgTestDate], SM.[Median], MT.[EntryDate] AS [TestDate]
FROM [myDB].[dbo].[P_STD_" || R|| "_" || T || "_" || M || "_SUMMARY] AS SM
INNER JOIN [myDB].[dbo].[P_STD_" || R || "_" || T || "_" || M || "_META] AS MT
ON SM.LNo = MT.LNo"
);
Return( dtm );
);
////TEST
clear log (); R = "D12"; T = "7"; M = "5"; dtm = opnDtb(R, M, T); dtm << set name ("sTable");Names Default To Here( 1 );
opnDtb = Function( {R, M, T}, {dtm},
dtm = Open Database(
"Driver=SQL Server;
Server=ABCD-EFGH;
DATABASE=myDB;
Trusted_Connection=Yes;",
"SELECT SM.[LNo], SM.[TestDate], SM.[Median] FROM [myDB].[dbo].[P_STD_" || R|| "_" || T || "_" || M || "_SUMMARY] AS SM
);
Return( dtm );
);
////TEST
clear log (); R = "D12"; T = "7"; M = "5"; dtm = opnDtb(R, M, T); dtm << set name ("sTable");