Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-11-2009
maravert maravert is offline
Miembro
 
Registrado: jul 2004
Ubicación: Xalapa, México
Posts: 158
Poder: 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
  #2  
Antiguo 11-11-2009
Avatar de HenryAraniva
HenryAraniva HenryAraniva is offline
Miembro
 
Registrado: jun 2005
Ubicación: El Salvador
Posts: 44
Poder: 0
HenryAraniva Va por buen camino
según lo que te entendi prueba la siguiente y me dices si es algo así lo que necesitas.
Si no talvez puedes ampliar un poco mas tu problema y pone los datos que te genera tu consulta y los que quieres obtener.

SELECT T1.id_concepto, T1.monto, T1.fecha, T1.referencia, T1.Id_alumno, T2.id, T2.nombre, T2.apellidos, T3.descripcion
FROM cobros T1
INNER JOIN alumnos T2 ON T1.id_alumno=T2.Id
INNER JOIN conceptos T3 ON T1.id_concepto=T3.id_concepto
WHERE T1.fecha >= f1 OR T1.fecha <= f2
__________________
Cuando la única herramienta es un martillo todos los problemas tienen cara de clavo
Responder Con Cita
  #3  
Antiguo 15-11-2009
maravert maravert is offline
Miembro
 
Registrado: jul 2004
Ubicación: Xalapa, México
Posts: 158
Poder: 20
maravert Va por buen camino
Gracias HenryAraniva

Lo probe y me funcionó al 100%

Te lo agradezco enormemente

Ojala y pueda devolverte el favor que me has hecho

Gracias

Alejandro
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Borrar registros de varias tablas ingabraham SQL 1 10-05-2008 01:00:28
Consulta con varias tablas marilinspi SQL 4 30-10-2007 22:40:48
Cómo realizar una consulta a 2 tablas y mostrar la informacion en un grid ajmr81 Varios 2 25-10-2007 18:13:16
Realizar una consulta sobre los registros que devuelve otra consulta Borjaserrano Firebird e Interbase 12 01-10-2007 23:19:44
guardar registros en un IBDataSet que es consulta a varias tablas?? Giniromero Conexión con bases de datos 4 14-11-2003 10:31:13


La franja horaria es GMT +2. Ahora son las 04:36:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi