Muy buenas tardes, presento la siguiente consulta:
Tengo un flujo de trabajo el cual me conecto y ejecuto una query mediante sql oracle, se adjunta print de pantalla del flujo y query para su entendimiento
Por otro lado presento una base en formato excel , el cual presenta ID que me gustaría consultar en la query pero de forma automática y que por el cual no deba insertar registros manualmente, si no que los ID provengan del excel mismo (ejemplo de lo que requiero en print de pantalla
Hola @Pedro87 te doy la bienvenida al foro de KNIME en Español
Creo que una posible solución para su problema sería pasar esos IDs de forma dinámica a la query a través de una variable. Aquí te dejo un ejemplo de como lo haría yo a primera vista:
Ten en cuenta que en mi caso he usado datos diferentes, pero la lógica sería la misma.
Transformar esos datos a variables, y añadir esos datos como variables en la query.
Creo que como enseño en la primera imagen, deberías en tu caso filtrar la columna de los IDs, luego hacer un Transpose, con lo que tendrás cada ID en una columna diferente y es entonces cuando puedes hacer uso del nodo “Table Row to Variable”. Tras esto, ya tendrás cada ID en una variable diferente.
Buenos días
Si no haces un bucle (yo te aconsejo el tipo Chunk) entre el metanodo y la conversión a variable deberías hacer un Group by por el id a consultar utilizado Unique concatenate, eso te crea una cadena separada por comas que se come el IN() de Oracle estupendamente. Piensa que en la variable debe estar el texto que escribirías en el PL, así que si el id fuese cadena habría que previo a la agrupación ponerle la comilla con un String manipulation usando join(“'”,id,“'”)
Un saludo