Come eseguire una query SQL su un database esterno e su una tabella JMP salvata?CIAO,
All'interno di uno script JMP ho davvero bisogno di eseguire query sia su una tabella JMP salvata che su una tabella di database separata, ma non riesco a capire come o a trovare una soluzione online.Di seguito è riportato un codice di esempio semplificato. Il problema è che una volta connesso al database non posso più eseguire query sulle tabelle locali. So che potrei unire una tabella in JMP dopo la query SQL sul database esterno, ma l'obiettivo è estrarre solo i clienti specificati nella tabella clienti.jmp nella query per ridurre la quantità di dati necessari per eseguire l'interrogazione. Ho provato cose come JOIN 'cust', JOIN 'Customers' ecc.
Qualsiasi aiuto sarebbe molto apprezzato, grazie.
// 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"
);Re: Come eseguire una query SQL su un database esterno e su una tabella JMP salvata?Se ho capito bene, hai una tabella dati JMP con un elenco di clienti e desideri estrarre righe da un database che corrispondono a tali clienti.
Puoi farlo con Corrispondenza valori colonna filtrare nel generatore di query.

C'e 'un esempio nella documentazione per sapere come utilizzare il filtro Corrispondenza colonne.
Re: Come eseguire una query SQL su un database esterno e su una tabella JMP salvata?Chris ha ragione: devi creare un elenco IN e includerlo nel tuo SQL.Questa conversazione potrebbe essere utile.
Re: Come eseguire una query SQL su un database esterno e su una tabella JMP salvata?CIAO,
Quello che penso che potresti dover fare è leggere i valori CustomerID utilizzando GetValues (come nella prima riga di seguito) dalla tabella JMP e quindi inserire l'elenco nel codice SQL (utilizzando gli operatori IN per la clausola WHERE).
custIDList = :CustID << GetValues;
Questo non è un codice completo, ma una piccola spinta nella giusta direzione.
Dovresti utilizzare un po' di JSL per inserire l'elenco nel codice SQL, ma almeno questo otterrebbe solo le informazioni dai clienti che hanno un ID nel file Customer.JMP. Quindi puoi utilizzare Unisci in JMP per unire i due set insieme.
Spero che aiuti,
Chris