美好的一天,
我目前有一個通過Open Database()命令執行的SQL代碼塊。這個SQL塊是由另一個人生成的,我正在嘗試簡化用戶界面。目前,在SQL塊中手動輸入訂單號,每次需要新訂單號時都必須覆蓋訂單號。我已經構建了一個JMP GUI,用於提取用戶指定的訂單號。
我想將此用戶指定的訂單號傳遞給SQL代碼。
手動輸入當前訂單號的SQL段(25891769)
where
ShopFloorControl.ManufacturingOrder.OrderNumber in (25891769)
and ShopFloorControl.ManufacturingOrder.LineNumber = 0
任何幫助將不勝感激。
謝謝
您可以使用字符串連接來替換SQL語句中的變量。 這是一種方法:
order_no = "25891769";
sql_statement = evalinsert(
"SELECT ...
FROM ...
WHERE
ShopFloorControl.ManufacturingOrder.OrderNumber in ('^order_no^')
and ShopFloorControl.ManufacturingOrder.LineNumber = 0");
print(sql_statement);
Results in:
"SELECT ...
FROM ...
WHERE
ShopFloorControl.ManufacturingOrder.OrderNumber in ('25891769')
and ShopFloorControl.ManufacturingOrder.LineNumber = 0"
如果您有多個訂單號,可以使用CONCAT ITEMS創建IN列表:
order_list = {"25891769", "25891770", "25891771"};
order_inlist = "('" || Concat Items(order_list, "', '") || "')";
sql_statement = evalinsert(
"SELECT ...
FROM ...
WHERE
ShopFloorControl.ManufacturingOrder.OrderNumber in ^order_inlist^
and ShopFloorControl.ManufacturingOrder.LineNumber = 0");
print(sql_statement);
Results in:
"SELECT ...
FROM ...
WHERE
ShopFloorControl.ManufacturingOrder.OrderNumber in ('25891769', '25891770', '25891771')
and ShopFloorControl.ManufacturingOrder.LineNumber = 0"