SQL查詢的結果如何保存到數據表中?大家好,
我有以下問題。 我想執行 SQL 查詢以從數據庫中獲取數據並且運行良好。 之後,我會將查詢中的數據保存在數據表中,並將其用於進一步處理。 根據其他帖子的想法,我對新變量做了一個簡單的分配dt_TestData . 我提供作為數據表的參數的名稱取自查詢名稱。 但是,當我想在新變量中保存數據時發生錯誤。 查詢的執行效果很好,新表名稱實驗數據自動打開,但我想引用該表。 我忽略了一些東西,卻沒有註意到。 對於如何解決此問題,我將不勝感激。 我正在使用 JMP15。 還有一個問題,如何在查詢執行後禁止顯示表? 此致。
Data = New SQL Query(
Connection(
"ODBC:Description=Datenbank;DRIVER=SQL Server;SERVER=Server;UID=%_UID_%;PWD=%_PWD_%;APP=JMP;DATABASE=EngineeringSupport;"
),
QueryName( "Experimental_Data" ),
Select(
Column( "Param1", "t1"),
Column( "Param2", "t1"),
Column( "Param3", "t1"),
),
From( Table( "TestData", Schema( "dbo" ), Alias( "t1" ))),
) << Run;
dt_TestData = Data Table("Experimental_Data");
Open(dt_TestData);
//further actions with dt_TestData: slicing, joining with other tables, etc.
Re: 如何將SQL查詢的結果保存到數據表中?這很奇怪。 當我運行查詢時,我無法從查詢中直接向表發送消息。 我需要先將該表製作成數據表。 請參見下面的示例。 我誤會了什麼嗎?
Table = New SQL Query(
Version( 130 ),
Connection( "ODBC:DSN=yournamehere;" ), // OBS! needs to be present and carry correct name!
QueryName( "MyQuery" ),
Select(
Distinct,
Column( "A", "t1" ),
),
From(
Table(
"some table",
Schema( "some view" ),
Alias( "t1" )
),
Table(
"another table",
Schema( "another view" ),
Alias( "t2" ),
Join(
Type( Left Outer ),
EQ( Column( "BatchId", "t1" ), Column( "BatchId", "t2" ) )
)
)
)
) << Run;
// does not work
Close( Table, no save );
// does work
NewTable = Data Table( Table );
Close( NewTable, no save );
Re: 如何將SQL查詢的結果保存到數據表中?馬克貝利,謝謝你的回复。 我不知道如何通過腳本獲取參考,但經過額外搜索後,我找到了解決方案郵政. 謝謝大家的寶貴時間和最誠摯的問候。
Re: 如何將SQL查詢的結果保存到數據表中?變量數據存儲對從查詢返回的數據表的引用。 函數調用數據表("實驗數據')返回對開放數據表實驗數據的引用。 您可以將消息發送到存儲在數據.
Re: 如何將SQL查詢的結果保存到數據表中?gz摩根0,
感謝您的回复! 我應該更準確地解釋一下,問題是我無法創建“dt”變量來引用查詢產生的數據。 查詢執行後,新表創建並打開,但我在哪裡可以找到(或創建)引用數據的變量? 或者它是以某種方式創建的,我看不到/無法使用它? JMP 顯示有關此行的錯誤:
dt_TestData = 數據表("Experimental_Data");
"訪問或評估數據表時找不到數據表,數據表/*###*/("Experimental_Data")"
我認為變量dt_TestData不能以這種方式創建? 我將不勝感激進一步幫助解決這個問題。
Re: 如何將SQL查詢的結果保存到數據表中?@盧卡斯,
最後一個 JSL 語句是問題所在:Open( dt_testData )。如果查詢運行成功,則數據表已經打開。 如果要製作該表的另一個副本,請使用子集。 在下面的示例中,dt2 是不同的表。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = dt << Subset( All Rows, Selected Columns(0), Output Table Name("Big2") );