MT テーブルにどのようなタイプのデータがあるかを確認しましたか (そのテーブルには各 LNo に対して複数の行がある可能性があります)。
SQL INNER JOIN を使用した以下の最初の関数は、各データ行を取得します ( LNo ) JOIN を使用しない以下の 2 番目の関数と比較して、データベースからの取得に 2 回追加されます。 私のどこが間違っているのでしょうか?
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");