el 01-17-2012 10:03 AM
¡Buenas a tod@s!
Hay alguna forma de usar este VI para ejecutar un SELECT DISTINCT? Que alternativa tendría?
¡Saludos!
¡Resuelto! Ir a solución.
el 01-18-2012 03:05 AM
Hola Francisco,
Si miras el archivo de ayuda del VI puedes ver como uno de los inputs es 'condition'. Literalmente dice:
condition specifies an SQL clause that this VI uses to filter the selection criteria. This VI appends this clause to the end of a select statement. For example, where (col1 > 10).
La documentación respecto a esto es bastante escasa, pero en principio debería funcionar.
Si no, siempre puedes realizarlo programáticamente, aunque sea más costoso. El equivalente en LV a un Select Distinct sería algo así:
Espero que te sea de ayuda, dime si con 'condition' consigues algo.
¡Un saludo!
el 01-18-2012 05:54 AM
Hola Angel,
Por lo que yo se y entiendo, la cláusula DISTINCT no es una cláusula condicional, no se utiliza para una sentencia WHERE. DISTINCT se usa para seleccionar los distintos valores de un campo, el cual contenga repetidos.
Así que no funcionaria en como input de la entrada 'condition'
Sigo investigando y te comento.
¡Saludos!
el 01-18-2012 08:28 AM
Por cierto...
No consigo distinguir que VI es la que usas en el segundo For, dónde juntas la constate array con un índice, usando el resultado de la puerto lógia OR...:manfrustrated:
el 01-19-2012 03:53 AM
Disculpa Francisco, no me fijé en ese detalle. Es normal que no lo encuentres, ya que no existe. No es más que un build array con una condición, puedes progamarlo tu muy facilmente. Si tienes problemas dímelo y te ayudo.
Respecto al input de condición, por lo que yo entiendo lo que se escriba irá después de la sentencia SELECT. Puede ser FROM, WHERE o entiendo que DISTINCT. ¿Has hecho la prueba?
01-19-2012 09:18 AM - editado 01-19-2012 09:18 AM
Hola Angel,
El imput conditon se refiere a las sentencias para filtrar los datos que... en SQL se refiere a la sentencia WHERE con todas las condiciones posibles. La palabra DISTINCT afecta los campos seleccionados y no es ninguna condición de filtrado en si. Es decir, no se puede usar DISTINCT como imput de condition porque entonces DB Tools Select Data VI construye mal la SQL y falla la ejecución.
La solución al problema està en escribir DISTINCT junto al nombre del campo. Cómo distinct afecta a la selección de valores de campo, si se escribe DISTINCT NombreCampo en el inpunt de columns, entonces ya tengo lo que busco. Todo esto ¡probado y funcionando!...
¡Muchas gracias por tu ayuda!