Extraire les données d'un ODBC dans une table à l'aide de JSLsalut
Nouveau chez JSL ...
Essayer de créer une table de données JMP contenant des données d’un ODBC. Je n'ai besoin que de valeurs après une certaine date et de certains produits seulement.
Mon script actuel pour un produit ressemble à ceci:
SELECT * FROM "LIMS". "SAMPLE" O LIMS.SAMPLE.DATE> = to_date ('17 -01-2015 ',' jj-mm-aaaa ') ET LIMS.SAMPLE.PRODUCT =' 12345ABC '
Comment inclure plus d'un produit, par exemple trois produits 12345ABC, 23456ACD, 1234ABCD dans mon tableau avec un tel script?
Meilleur,
M
Re: extraire des données d'un ODBC dans une table à l'aide de JSLSalut MBL,
Je vous encourage à utiliser le générateur de requêtes dans JMP. Une fois que vous avez obtenu les résultats souhaités pour la requête, générez le tableau, puis copiez / collez simplement le script source hors du résultat et insérez-le dans votre JSL. Cela facilitera beaucoup le processus.
Si vous voulez continuer avec le SQL ci-dessous, je pense que vous feriez quelque chose comme:
SELECT * FROM "LIMS". "SAMPLE" WHERE LIMS.EXEMPLE.DATE> = to_date ('17 -01-2015 ',' jj-mm-aaaa ') ET (LIMS.EXEMPLE.PRODUCT IN ("12345ABC", 23456ACD ',' 1234ABCD '))
Brian Corcoran
Développement JMP
Re: extraire des données d'un ODBC dans une table à l'aide de JSLVoici un moyen de générer votre code SQL. L'astuce consiste à utiliser la fonction Concat Items pour créer une liste IN. J'utilise également evalinsert et \ [...] \ afin de pouvoir inclure proprement les guillemets doubles dans la chaîne.
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);
Résultats dans la fenêtre du journal:
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'))";