![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Hola,
prueba esta consulta. Utilizo Firebird 1.5 y ha funcionado bien. select e.idempresa, (select count(*) from empleado ep where ep.idempresa=e.idempresa and edad<18), (select count(*) from empleado ep where ep.idempresa=e.idempresa and edad>=18 and edad<65), (select count(*) from empleado ep where ep.idempresa=e.idempresa and edad>65) from empresa e Saludos
__________________
Más se perdió en la guerra... y volvieron cantando |
|
#2
|
|||
|
|||
|
GRACIAS POR TU RESPUESTA
esto si funciona pero demora demasiado para hacer la consulta. debe haber otra manera mas rapida de hacerlo. Supongo que los genios del SQL han tenido que pensar en la posibilidad de aplicar varias funciones de calculo a una misma consulta y con diferentes condiciones. Pero bueno. seguiré investigando... |
|
#3
|
||||
|
||||
|
Hola,
que base de datos utilizas? Podrías crear una Stored Procedure que haga un select de la tabla y la vaya recorriendo y sumando 1 a cada grupo de edades en función de la edad. Quizá sea más rápido que los 3 select que se hacen en la consulta. Saludos
__________________
Más se perdió en la guerra... y volvieron cantando |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|