Ver Mensaje Individual
  #1  
Antiguo 11-11-2009
maravert maravert is offline
Miembro
 
Registrado: jul 2004
Ubicación: Xalapa, México
Posts: 158
Reputación: 20
maravert Va por buen camino
Realizar una consulta de varias tablas y que no se repitan los registros

Hola a todos:

Tengo las siguientes tablas

Tabla Cobros


Código SQL [-]
CREATE TABLE `cobros` (
  `id_cobros` int(11) NOT NULL auto_increment,
  `Id_alumno` int(11) NOT NULL,
  `id_cuenta` int(11) NOT NULL,
  `id_concepto` int(11) NOT NULL,
  `monto` float NOT NULL,
  `fecha` text NOT NULL,
  `fecha_registro` text NOT NULL,
  `referencia` varchar(50) default NULL,
  PRIMARY KEY  (`id_cobros`),
  KEY `Id_alumno` (`Id_alumno`,`id_cuenta`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;




Tabla Conceptos


Código SQL [-]
CREATE TABLE `conceptos` (
  `id_concepto` int(11) NOT NULL auto_increment,
  `descripcion` varchar(40) NOT NULL,
  PRIMARY KEY  (`id_concepto`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;




y La tabla Alumnos


Código SQL [-]
CREATE TABLE `alumnos` (
  `id` int(11) NOT NULL auto_increment,
  `nombre` varchar(50) NOT NULL default '',
  `apellidos` varchar(40) default NULL,
  .....


En la tabla cobros me almacena algo asi

1, 16, 3, 1, 10500, '09/11/2009', '09/11/2009',NULL
2, 29, 3, 1, 0, '09/11/2009', '09/11/2009', NULL);
3, 19, 3, 1, 25000, '09/11/2009', '09/11/2009', NULL);
4, 19, 3, 1, 25000, '09/11/2009', '09/11/2009', NULL);
5, 8, 3, 2, 333, '09/11/2009', '09/11/2009', NULL);
6, 14, 3, 1, 4, '09/11/2009', '09/11/2009', NULL);
7, 20, 5, 1, 4200, '09/11/2009', '09/11/2009', '999');
8, 12, 3, 1, 77777, '09/11/2009', '09/11/2009', NULL);


lo que deseo es sacar una consulta asi

Juan Perez , Colegiatura, 10500, etc
Pablo Marmol, Inscripcion. 10500, etc


Realizo la siguiente consulta en MysQl, pero me repite los registros.


Código SQL [-]
SELECT cobros.id_concepto, cobros.monto, cobros.fecha, cobros.referencia, cobros.Id_alumno, alumnos.id, 
alumnos.nombre, alumnos.apellidos, conceptos.descripcion
FROM cobros, alumnos, conceptos
WHERE cobros.fecha >= f1 OR cobros.fecha <= f2




f1 y f2 son rangos de fechas.

En conclusion lo que quiero es obtener de la tabla cobros los resultados, pero que se sustituya el valor de cobros.id_concepto, por el que esta en la tabla conceptos.Id_concepto y en donde esta cobros.Id_alumno por el valor que esta en alumnos.nombre

Ojala me puedan ayudar porque ya llevo semanas y no le hayo

Gracias de antemano

Maravert

Última edición por marcoszorrilla fecha: 15-11-2009 a las 22:34:20.
Responder Con Cita