¿Cómo realizar consultas SQL en una base de datos externa y una tabla JMP guardada?Hola,
Dentro de un script JMP, realmente necesito consultar tanto una tabla JMP guardada como una tabla de base de datos separada, pero no puedo averiguar cómo ni encontrar una solución en línea.Hay un código de ejemplo simplificado a continuación. El problema es que una vez que me conecto a la base de datos ya no puedo consultar tablas locales. Sé que podría unir una tabla en JMP después de la consulta SQL en la base de datos externa, pero el objetivo es extraer solo los clientes especificados en la tabla clientes.jmp en la consulta para reducir la cantidad de datos que necesita consultar. He probado cosas como UNIRSE a 'clientes', UNIRSE a 'Clientes', etc.
Cualquier ayuda sería muy apreciada, gracias.
// 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: ¿Cómo realizar consultas SQL en una base de datos externa y una tabla JMP guardada?Si le entiendo correctamente, tiene una tabla de datos JMP con una lista de clientes y desea extraer filas de una base de datos que coincidan con esos clientes.
Puedes hacer esto con el Coincidir con valores de columna filtrar en el Generador de consultas.

Hay un ejemplo en la documentación para saber cómo utilizar el filtro Coincidencia de columnas.
Re: ¿Cómo realizar consultas SQL en una base de datos externa y una tabla JMP guardada?Chris tiene razón: necesita crear una lista IN e incluirla en su SQL.Esta conversacion puede ser útil.
Re: ¿Cómo realizar consultas SQL en una base de datos externa y una tabla JMP guardada?HOLA,
Lo que creo que podría necesitar hacer es leer los valores de CustomerID usando GetValues (como en la línea uno a continuación) de la tabla JMP y luego insertar esa lista en el código SQL (usando los operadores IN para la cláusula WHERE).
custIDList = :CustID << GetValues;
Este no es un código completo, sino un pequeño empujón en la dirección correcta.
Tendría que usar un poco de JSL para insertar la lista en el código SQL, pero al menos esto le brindaría solo la información de los clientes que tienen una ID en el archivo Customer.JMP. Luego puede usar Unirse dentro de JMP para fusionar los dos conjuntos.
Espero que ayude,
cris