6 messages in com.mysql.lists.mysql-esRE: Select complicada....| From | Sent On | Attachments |
|---|---|---|
| Ariel Nardelli | 15 Jan 2007 21:07 | |
| Grover Campos A. | 16 Jan 2007 04:47 | |
| Bonjo | 16 Jan 2007 07:47 | |
| Ariel Nardelli | 16 Jan 2007 10:47 | |
| Grover Campos A. | 16 Jan 2007 11:25 | |
| Ariel Nardelli | 19 Jan 2007 21:59 |
| Subject: | RE: Select complicada....![]() |
|---|---|
| From: | Grover Campos A. (gcam...@ing.puc.cl) |
| Date: | 01/16/2007 11:25:44 AM |
| List: | com.mysql.lists.mysql-es |
Hola Ariel:
Primero: Te olvidaste de anexar algunos datos de prueba de la tabla movi. Segundo: No explicaste el significado de cada campo, así que asumí que en la tabla movi, el campo mov_inte se refería al código del interno.
La consulta que podría satisfacer tu requerimiento (según lo que llegué a entender) sería:
SELECT m.* FROM movi AS m INNER JOIN internos AS i ON m.mov_inte = i.int_codi /* Suposición que hice */ INNER JOIN grupos AS g ON i.int_grpo = g.grp_codi WHERE g.grp_codi = 1 /* O el código del grupo que quieras */ ORDER BY m.mov_inte
Revísala y verifica que sea lo que estabas buscando.
Saludos
--------------------------------------------------------- Grover M. Campos Ancajima Ingeniero de Desarrollo DictUC - Pontificia Universidad Católica de Chile
-----Mensaje original----- De: Ariel Nardelli [mailto:panf...@ubbi.com] Enviado el: Martes, 16 de Enero de 2007 15:48 Para: gcam...@ing.puc.cl; mysq...@lists.mysql.com Asunto: Re: Select complicada....
Hola!
Si estan los dump aca te los pongo...
CREATE TABLE `grupos` ( `grp_codi` tinyint(3) NOT NULL default '0', `grp_desc` varchar(20) collate latin1_spanish_ci NOT NULL, PRIMARY KEY (`grp_codi`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci COMMENT='Grupos';
-- -- Volcar la base de datos para la tabla `grupos`
--
INSERT INTO `grupos` (`grp_codi`, `grp_desc`) VALUES (1, 'Oficina'), (2, 'Computos');
-- --------------------------------------------------------
-- -- Estructura de tabla para la tabla `internos`
--
CREATE TABLE `internos` ( `int_codi` smallint(5) NOT NULL default '0', `int_grpo` tinyint(3) NOT NULL default '0', `int_desc` varchar(20) collate latin1_spanish_ci NOT NULL, PRIMARY KEY (`int_codi`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci COMMENT='Los Internos';
-- -- Volcar la base de datos para la tabla `internos`
--
INSERT INTO `internos` (`int_codi`, `int_grpo`, `int_desc`) VALUES (200, 2, 'Pato'), (104, 1, 'Ariel'), (108, 1, 'Ame (608)'), (107, 1, 'Ame (666)'), (103, 1, 'Jose'), (914, 2, 'Ex Emilio'), (109, 1, 'Ame'), (102, 1, 'Liliana'), (116, 2, 'Comedor'), (198, 1, 'PreAtendedor'), (201, 2, 'Pieza Mama'), (115, 1, 'Marianela'), (202, 1, 'Galpon'), (111, 2, 'Fax'), (203, 1, 'Enfermeria'), (110, 2, 'Mirta'), (113, 1, 'Sala Moreno'), (106, 1, 'Mostrador'), (112, 2, 'Sala Rivadavia'), (114, 1, 'Marcos/Sergio');
Aca estan las dos tablas las de grupos y las de internos... Aca va como crear la de movimientos y un dia de moviminetos...
-- -- Estructura de tabla para la tabla `movi`
--
CREATE TABLE `movi` ( `mov_iden` int(11) NOT NULL auto_increment, `mov_fech` date default NULL, `mov_hora` time default NULL, `mov_ensa` char(1) collate latin1_spanish_ci default NULL, `mov_inte` smallint(5) default NULL, `mov_line` tinyint(3) default NULL, `mov_nuro` varchar(30) collate latin1_spanish_ci default NULL, `mov_dura` time default NULL, `mov_caut` smallint(5) default NULL, `mov_rest` varchar(2) collate latin1_spanish_ci default NULL, PRIMARY KEY (`mov_iden`), KEY `tel_mov1` (`mov_fech`,`mov_hora`,`mov_ensa`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci COMMENT='Movimientos de llamadas' AUTO_INCREMENT=249222 ;
Estoy viendo que con join se puede hacer ... estoy haciendo varias prueabs a ver si tambien te sale algo a os...
GRCIAS! Ariel
Grover Campos A. escribió:
Hola Ariel
¿Tendrías el dump de tus tablas y datos para probar?
--------------------------------------------------------- Grover M. Campos Ancajima Ingeniero de Desarrollo DictUC - Pontificia Universidad Católica de Chile
-----Mensaje original----- De: Ariel Nardelli [mailto:panf...@ubbi.com] Enviado el: Martes, 16 de Enero de 2007 2:07 Para: mysq...@lists.mysql.com Asunto: Select complicada....
Hola!!!!
Tengo que hacer una seleccion (select) de determinados registros...
Para esto tengo varias tablas una es:
Grupos gr_id gr_na
donde gr_id es el codigo del grupo y gr_na es el nombre del mismo.
Despues tengo los internos, esta tabla internos tiene los internos telefonicos que tiene la empresa y el grupo al que pertenecen, o sea :
internos in_id in_gr in_de
Donde in_id es el codigo del interno y in_gr es el grupo al cual pertenece ese interno. Se tiene un registro en interno por cada interno y varios internos hacen un grupo.
Tengo tambien el registro de movimientos, los movimientos son todas las llamadas que se hacen y necesito sacar todas esas llamadas pero POR GRUPO no por interno... Asi si el interno 1 , 5 , 15 y 25 pertenecen al grupo 2 y selecciono ese grupo para listar el selec deberia mostrarme los movimientos de todos esos internos. EN TEORIA el proceso seria, buscar que internos pertenecen a un grupo determinado y despues ya teniendo esos internos buscarlos en el select...
Di varias vueltas pero no llego a nada, alguien me puede tirar una ayudita y decirme como se hace???
Gracias!!!!
Ariel
-- Lista de Correos de MySQL Para el historial de la lista: http://lists.mysql.com/mysql-es Para cancelar inscripción: http://lists.mysql.com/mysql-es?unsub=gcam...@ing.puc.cl




