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") );