Ciao!
Ho una tabella dati prodotta tramite uno script che esegue due query separate (che forniscono dati da due fonti diverse) che vengono poi unite per formare una tabella dati. La mia domanda riguarda l'aggiornamento quotidiano di questa tabella in modo che lo script non debba essere eseguito nuovamente dall'inizio e che eventuali pulizie/aggiustazioni/nuove colonne possano essere mantenute. Vedo che sulla barra laterale c'è sia un "aggiornamento dal database" che un "aggiornamento dal database2". Posso eseguirne uno, ma eliminerà le colonne che non sono incluse da quella fonte (ovvero, se eseguo "aggiornamento dal database", che è per la prima query, eliminerà le colonne TVC, VI, AC e DC dalla query 2 insieme ad altre colonne di calcolo/immissione manuale che aggiungo alla tabella dopo averle unite nello script originale).
Ho provato a copiare insieme i due script di aggiornamento in uno script (vedi sotto) ma ho il problema per cui quando viene eseguito il primo tenterà di eliminare le colonne prima di eseguire il secondo. Non sono sicuro se l'approccio migliore sarebbe quello di combinare le tabelle e quindi provare ad aggiornare o se esiste qualcosa di più semplice (magari un modo per aggiornarlo senza eliminare i dati che non provengono da quella fonte)? Ho rimosso le informazioni di connessione e modificato i nomi nel codice seguente, ma spero che questo aiuti a dare un'idea. Qualcuno ha già affrontato un problema simile? Grazie!
New SQL Query(
Version( 130 ),
Connection(
""
),
QueryName( "query1" ),
Select(
Column( "Assay", "t1" ),
Column( "Experiment", "t1" ),
Column( "Date", "t1", Numeric Format( "m/d/y h:m:s", "0", "NO", "" ) ),
Column( "G", "t1" ),
Column( "L", "t1" ),
Column( "N", "t1" ),
Column( "K", "t1" ),
Column( "C", "t1" ),
Column( "H", "t1" ),
Column( "O", "t1" ),
Column( "C", "t1" ),
),
From( Table( "Runs", Schema( "schema1" ), Alias( "t1" ) ) ),
Where(
Contains(
Column( "Experiment", "t1" ),
"E001",
UI(
Contains(
Base(
"Categorical",
Prompt(
"Experiment ID:",
Character,
PromptName( "t1.Experiment_1" )
)
)
)
)
) & Does Not Contain(
Column( "Assay, "t1" ),
"xxx",
UI(
Contains(
Base(
"Categorical",
Prompt(
"Add a filter for names (optional) or put xxx:",
Character,
PromptName( "t1.AssayId_1" )
)
)
)
)
) & GE(
Column(
"Date",
"t1",
Numeric Format( "m/d/y h:m:s", "0", "NO", "" )
),
0,
UI(
Comparison(
Base(
"Continuous",
Prompt(
"Date range:",
Character,
PromptName( "t1.RunDate_1" )
)
)
)
)
)
)
) << Run Foreground( UpdateTable( Current Data Table() ) );
New SQL Query(
Version( 130 ),
Connection(
""
),
QueryName( "query2" ),
Select(
Column( "Assay", "t2" ),
Column( "Experiment", "t2" ),
Column( "Date", "t2", Numeric Format( "m/d/y h:m:s", "0", "NO", "" ) ),
Column( "TVC", "t2" ),
Column( "VI", "t2" ),
Column( "AC", "t2" ),
Column( "AD", "t2" )
),
From( Table( "Runs", Schema( "schema2" ), Alias( "t2" ) ) ),
Where(
Contains(
Column( "Experiment", "t2" ),
"E001",
UI(
Contains(
Base(
"Categorical",
Prompt(
"Experiment ID:",
Character,
PromptName( "t2.Experiment_1" )
)
)
)
)
) & Does Not Contain(
Column( "Assay", "t2" ),
"xxx",
UI(
Contains(
Base(
"Categorical",
Prompt(
"Add a filter (optional) or put xxx:",
Character,
PromptName( "t2.AssayId_1" )
)
)
)
)
) & GE(
Column(
"Date",
"t2",
Numeric Format( "m/d/y h:m:s", "0", "NO", "" )
),
0,
UI(
Comparison(
Base(
"Continuous",
Prompt(
"Date range:",
Character,
PromptName( "t2.RunDate_1" )
)
)
)
)
)
)
) << Run Foreground( UpdateTable( Current Data Table() ) )