Estrarre i dati da un ODBC in una tabella utilizzando JSLCiao
Nuovo a JSL ...
Cercando di creare una tabella di dati JMP che contenga dati da un ODBC. Ho bisogno solo dei valori dopo una certa data e solo determinati prodotti.
Il mio script attuale per un prodotto è simile a questo:
SELECT * FROM "LIMS". "SAMPLE" WHERE LIMS.SAMPLE.DATE> = to_date ('17 -01-2015 ',' gg-mm-aaaa ') E LIMS.SAMPLE.PRODUCT =' 12345ABC '
Come posso includere più di un prodotto, ad es. Tre prodotti 12345ABC, 23456ACD, 1234ABCD nel mio tavolo con uno script simile?
Migliore,
M
Ri: Estrarre i dati da un ODBC in una tabella utilizzando JSLCiao MBL,
Ti incoraggio a utilizzare Query Builder in JMP. Una volta ottenuti i risultati desiderati per la Query, generare la tabella e quindi copiare / incollare lo script sorgente fuori dal risultato e inserirlo nel JSL. Questo renderà l'intero processo molto più facile.
Se vuoi procedere con l'SQL di seguito, credo che faresti qualcosa come:
SELECT * FROM "LIMS". "SAMPLE" WHERE LIMS.SAMPLE.DATE> = to_date ('17 -01-2015 ',' gg-mm-aaaa ') AND (LIMS.SAMPLE.PRODUCT IN (' 12345ABC ',' 23456ACD ',' 1234ABCD ')))
Brian Corcoran
Sviluppo JMP
Ri: Estrarre i dati da un ODBC in una tabella utilizzando JSLEcco un modo per generare il tuo SQL. Il trucco è usare la funzione Concat Items per creare una lista IN. Sto anche usando evalinsert e \ [...] \ in modo da poter includere le virgolette doppie all'interno della stringa in modo pulito.
prod_list = {"12345ABC", "23456ACD", "1234ABCD"};
in_list = "('" || Concat Items(prod_list, "','") || "')";
sql = evalinsert(
"\[SELECT * FROM "LIMS"."SAMPLE"
WHERE LIMS.SAMPLE.DATE >= to_date('17-01-2015', 'dd-mm-yyyy')
AND (LIMS.SAMPLE.PRODUCT IN ^in_list^)]\");
show(in_list, sql);
Risultati nella finestra di registro:
in_list = "('12345ABC','23456ACD','1234ABCD')";
sql = "SELECT * FROM \!"LIMS\!".\!"SAMPLE\!"
WHERE LIMS.SAMPLE.DATE >= to_date('17-01-2015', 'dd-mm-yyyy')
AND (LIMS.SAMPLE.PRODUCT IN ('12345ABC','23456ACD','1234ABCD'))";