![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
si pues, ya me rompí la cabeza buscando en cuanto sitio exista y nada de eso. creo que tendre que ingeniarmelas tal como tu me dices aunque ahi aun tengo un problema:
¿Cómo hago para contar los empleados de cada empresa. PERO que ademas en ese conteo se agregue en 1 cada vez que ese empleado es menor de edad? count(empleados)+1 -> siempre que sea menor de edad Lo necesito pq necesitamos saber cuantos regalos vamos a repartir, sabiendo que los menores de edad reciben el doble. Muchas gracias. |
|
#2
|
||||
|
||||
|
Lo que te digo es que una vez seleccionadas las tablas mediante SQL, recorras todas las filas aplicando los If correspondientes y en tantas variables como resultados distintos desees vás acumlando cada uno de ellos.
Por ejemplo si cada fila es un empleado: pero los menores de edad v.g. y tantos if como situaciones. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
#3
|
|||
|
|||
|
Cuando trabajaba con clipper no tenia ningun problema al hacer esto en mis reportes. pero ahora y con los SQL necesito tener una vista_Empresa que tenga preparada esta información para ser llamada cualquier momento desde otra consulta
Select reparto.fecha, vista_empresa.nombre, vista_empresa.nroRegalos, * from vista_empresa, reparto Where ... Alguna idea? |
|
#4
|
||||
|
||||
|
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 |
|
#5
|
|||
|
|||
|
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... |
|
#6
|
||||
|
||||
|
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 | |
|
|
|