Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Consulta a tres tablas

Estas en el tema de Consulta a tres tablas en el foro de Mysql en Foros del Web. Hola buenas, Soy estudiante y estoy realizando un proyecto de fin de curso sobre la Base de datos de un restaurante utilizando PHP en MySQL ...
  #1 (permalink)  
Antiguo 24/11/2013, 14:21
 
Fecha de Ingreso: noviembre-2013
Mensajes: 1
Antigüedad: 10 años, 4 meses
Puntos: 0
Consulta a tres tablas

Hola buenas, Soy estudiante y estoy realizando un proyecto de fin de curso sobre la Base de datos de un restaurante utilizando PHP en MySQL Mi nivel es basico asi que pido un poquito de comprension

Explico mi consulta :

Busco realizar una consulta a tres tablas (Tabla1 : Proveedores-Tabla2:telefonos_proveedores, Tabla3 : email_Proveedores)

De momento he intentado haciendo esto :
Código MySQL:
Ver original
  1. select  proveedor.Nombre_Proveedor,Tipo_producto,telefono_proveedores.telefono_proveedor,
  2. email_proveedor.Email_Proveedor
  3. from proveedor,telefono_proveedores,email_proveedor
  4. where proveedor.Nombre_proveedor=telefono_proveedores.Nombre_proveedor ;
Conosco los alias, pero hago la consulta de esta manera para evitar confundirme.

El problema es que me muetra los registros repetidos
<Adjunto Imagen>

http://imageshack.us/photo/my-images/40/ry02.png/

Buscando en internet veo que es posible con el inner join Mas no doy con la sentencia correcta

Alguna ayudita?

-Gracias :) -

Última edición por gnzsoloyo; 24/11/2013 a las 15:15
  #2 (permalink)  
Antiguo 24/11/2013, 15:20
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consulta a tres tablas

Cita:
Buscando en internet veo que es posible con el inner join Mas no doy con la sentencia correcta

Alguna ayudita?
Si: Acude al manual, porque no existen sintaxis alternativas cuando usas INNER JOIN. Hay una sola forma de escribirla.
Código MySQL:
Ver original
  1.     P.Nombre_Proveedor,
  2.     P.Tipo_producto,
  3.     TP.telefono_proveedor,
  4.     EP.Email_Proveedor
  5. FROM proveedor P
  6.     INNER JOIN telefono_proveedores TP ON P.Nombre_proveedor  = TP.Nombre_proveedor
  7.     INNER JOIN email_proveedor EP ON P.Nombre_proveedor  = EP.Nombre_proveedor;
Eso suponiendo que los e-mails de los proveedores y los proveedores se relacionen de la misma forma que los teléfonos.
Por cierto: Como esquema es algo ineficiente, y si al menos uno de los proveedores no tiene telefono registrado, y/o e-Mail registrado, no saldrá en la lista.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: join, php, registro, select, sql, tabla, tablas, tres
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:51.