如何使用 SQL 查詢外部數據庫和已保存的 JMP 表?你好,
在 JMP 腳本中,我確實需要查詢已保存的 JMP 表和單獨的數據庫表,但無法弄清楚如何或在線找到解決方案。下面有一個簡化的示例代碼。 問題是一旦我連接到數據庫,我就無法再查詢本地表。 我知道我可以在外部數據庫上執行 SQL 查詢後在 JMP 中執行表聯接,但目標是僅提取查詢中的customers.jmp 表中指定的客戶,以減少需要查詢的數據量。 我嘗試過加入“客戶”、加入“客戶”等。
任何幫助將不勝感激,謝謝。
// open JMP table
cust = Open( "***\JMP Tables\Customers.jmp");
//connect to DB
SQLConnection = Create database connection("DRIVER=*** SERVER=***; DATABASE=database; Uid=***;Pwd=***");
//Query both
PrePUSQL01 =
"
SELECT
T.CustomerID,
C.Inc
FROM database.dbo.table AS T
JOIN cust AS C ON C.CustomerID = T.CustomerID
WHERE C.Inc = '1'
"
;
dt = Execute SQL(SQLConnection,
PrePUSQL01,
"dt"
);回复:如何通過 SQL 查詢外部數據庫和已保存的 JMP 表?如果我理解正確的話,您有一個包含客戶列表的 JMP 數據表,並且您希望從數據庫中提取與這些客戶匹配的行。
您可以使用匹配列值查詢生成器中的過濾器。

有一個文檔中的示例了解如何使用匹配列過濾器。
回复:如何通過 SQL 查詢外部數據庫和已保存的 JMP 表?Chris 是對的 - 您需要創建一個 IN 列表並將其包含在您的 SQL 中。這段對話可能會有幫助。
回复:如何通過 SQL 查詢外部數據庫和已保存的 JMP 表?你好,
我認為您可能需要做的是使用 GetValues 從 JMP 表中讀取 CustomerID 值(如下面第一行所示),然後將該列表插入到 SQL 代碼中(對 WHERE 子句使用 IN 運算符)。
custIDList = :CustID << GetValues;
這不是完整的代碼,而是朝著正確方向的一點推動。
您必須使用一點 JSL 將列表插入到 SQL 代碼中,但至少這會為您提供來自在 Customer.JMP 文件中具有 ID 的客戶的信息。 然後,您可以使用 JMP 中的 Join 將兩個集合合併在一起。
希望有幫助,
克里斯