FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Ayuda con Contadores en interbase
Hola soy nuevo en este foro y tengo un problemilla que no me ha dejado dormir; Estoy trabajando con una base de datos en interbase y tengo dos tablas (Tabla 1 y Tabla 2) con los siguientes campos: Tabla 1: id, nombre, apellido,..., tipo, cargo, categoria. Tabla 2: tipo, cargo, categoria, sueldo_unitario, contador.
- La llave primaria de tabla 1 es id y se relaciona con mi tabla 2 a través de los campos: (tipo, cargo, categoria) como se habrán dado cuenta estos tres últimos campos son la llave primaria de Tabla 2. Ahora bien mi urgencia es saber como hago para que en el campo contador de Tabla 2 se almacene la cantidad de empleados y que este contador se actualice cada vez que ingrese o elimine un empleado. Algo como esto: tabla 2 tipo: A; cargo: B; categoria: C; sueldo_unitario: 10; contador: 1 tipo: A; cargo: B; categoria: D; sueldo_unitario: 350; contador: 4 tipo: C; cargo: B; categoria: D; sueldo_unitario: 1200; contador: 3 - En este ejemplo por lo menos represento lo que quiero: que el contador me muestre cuantos empleados de tipo A Cargo B y Categoria C existen, etc. Agradezco la ayuda y apreciaría cualquier colaboración de ustedes los expertos ya que soy nuevo en programacion y en este excelente foro. GRACIAS!! |
#2
|
||||
|
||||
Si te digo la verdad, no entiendo el concepto que planteas.
|
#3
|
||||
|
||||
Me da la impresión que lo que plantea se resolvería con un Procedimiento que sumara agrupando por los conceptos que el comenta y luego los resultados los trasladara a la otra tabla con un Update.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#4
|
||||
|
||||
Gracias por sus respuestas pero mi duda persiste, por ejemplo para yo saber cuantos empleados tengo en relación a cada tipo, cargo y categoria introduzco el siguiente código:
SELECT TIPO, CARGO, CATEGORIA, COUNT (*) FROM Tabla1, Tabla2 WHERE Tabla1.TIPO=Tabla2.TIPO AND Tabla1.CARGO=Tabla2.CARGO AND Tabla1.CATEGORIA=Tabla2.CATEGORIA GROUP BY TIPO, CARGO, CATEGORIA el resultado me lo demuestra así: tipo:A cargo:B categoria:C count:6 tipo:A cargo:B categoria:D count:2 ...y es correcto! pero Ahora bien como hago para que cada vez que inserte o elimine un empleado de la tabla 1, aparezca en el campo 'contador' que se corresponda con mi tabla2, la cantidad de empleados que existen producto de la inserción o eliminacion. Concuerdo mucho con el planteamiento de Marcos pero aún no estoy muy claro en el cómo construir ese código. Agradezco sus respuestas por favor! |
#5
|
|||
|
|||
Bueno hay dos formas de hacerlo
En un trigger para Tabla2 en la base de datos que cada vez que se ingresa o elimina un registro en Tabla1, se dispare Otro en el componente de tu aplicacion TIBTable o lo que sea (No indicas que componentes de acceso estas usando ), en el afterinsert o afterdelete ejecutes el codigo siguiente valido para la forma anterior.
Saludos |
#6
|
||||
|
||||
Wow! muchas gracias cloayza de verdad muy agradecido por tu respuesta, de seguro este código que me facilitastes me servirá más adelante cuando haga la conexión; disculpa las molestias pero me podrías indicar el código para crear el trigger para tabla 2 cada vez que inserte o elimine un registro de tabla 1, no sé como hacerlo; lo que pasa es que soy nuevo programando! Saludos.
|
#7
|
||||
|
||||
Resp
Bueno la respuesta que te dio cloayza la puedes complementar creando contador como campo calculado.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ayuda con interbase | juanjoxi | Firebird e Interbase | 0 | 13-04-2007 22:45:50 |
Un query con contadores en un informe Rave | Bairon Kumon | Impresión | 0 | 14-06-2006 20:03:47 |
StringGrid y contadores | sergio_015 | OOP | 1 | 01-03-2005 00:09:04 |
Actualizar Contadores !! | triniti | SQL | 5 | 03-08-2004 20:42:23 |
Ayuda con Interbase :D | cmagno | Firebird e Interbase | 1 | 26-04-2004 19:26:32 |
|