[Kde-devel-es] consulta a MySql

Sergio Cambra sergio at ensanjose.net
Thu Nov 11 22:12:26 CET 2004


El Miércoles 10 Noviembre 2004 01:21, Guillem Barba escribió:
> Muchas gracias, me ha funcionado exáctamente como quería. Pero aplicando
> esto en otro sitio del programa, para hacer un select, me encuentro con
> otro problema, que mirando la documentación de MySql que se te instal·la
> no lo he sabido solucionar.
>
> La consulta es la siguiente:
> "SELECT * FROM empleados LEFT JOIN tareas ON tareas.idempleado =
> empleados.id WHERE tareas.idobra = " + lblCodigoIntO->text() + " ORDER
> BY empleados.id"
>
> Lo que quiero que me devuelva es una lista de los empleados que tienen
> alguna tarea de esta obra (cada tarea es de una obra y de un empleado).
> Esta consulta devuelve la lista bien, PERO con empleados repetidos (un
> mismo empleado sale más de una vez) porque devuelve el empleado por cada
> tarea que tiene (si un mismo empleado ha realizado 3 tareas para la obra
> en cuestión, saldrà 3 veces en la consulta).

Si solo te interesan los empleados que tengan alguna tarea de esa obra 
puedes hacerlo con SELECT DISTINCT, pero cogiendo solo el campo 
empleados.id. Añadir DISTINCT a tu consulta no hará nada porque coge las 
filas distintas. La consulta sería:

"SELECT DISTINCT empleados.id FROM empleados JOIN tareas ON 
tareas.idempleado = empleados.id WHERE tareas.idobra = " + 
lblCodigoIntO->text() + " ORDER BY empleados.id"

Sergio


More information about the Kde-devel-es mailing list