Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Duda acerca de relacionar tablas con JOIN

Estas en el tema de Duda acerca de relacionar tablas con JOIN en el foro de PHP en Foros del Web. Buenos días, Soy nuevo usuario del foro (nuevo registrado porque como visitante he encontrado muchas veces solución a mis dudas aquí) y acudo en busca ...
  #1 (permalink)  
Antiguo 16/09/2013, 02:37
 
Fecha de Ingreso: septiembre-2013
Ubicación: Barcelona
Mensajes: 8
Antigüedad: 11 años, 3 meses
Puntos: 0
Duda acerca de relacionar tablas con JOIN

Buenos días,

Soy nuevo usuario del foro (nuevo registrado porque como visitante he encontrado muchas veces solución a mis dudas aquí) y acudo en busca de algo de ayuda con un tema al que no le encuentro la vuelta.

Tengo que relacionar dos tablas de una base de datos MySQL de la siguiente manera.

La primera tabla es "persona_encuestada" con los campos:

id_persona_encuestada
nombre
respuesta
id_encuestador

Y la segunda tabla es "encuestadores" con los campos:

id_encuestador
nombre

Lo que yo quiero es una consulta que muestre los datos de la primera tabla pero en lugar de mostrar el id del encuestador muestre su nombre, que tomaría de la segunda tabla.

Mi consulta actual es la siguiente:

Código PHP:
SELECT FROM persona_encuestada AS pe INNER JOIN encuestadores AS en ON me.id_encuestador=en.id_encuestador 
El problema viene dado por el hecho de que en las dos tablas hay un campo llamado "nombre" que realidad tienen valores diferentes y cuando quiero mostrar los datos solo recibo el nombre de la persona encuestada y no el del encuestador.

¿Alguna idea?

Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 16/09/2013, 03:40
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Duda acerca de relacionar tablas con JOIN

Cita:
El problema viene dado por el hecho de que en las dos tablas hay un campo llamado "nombre" que realidad tienen valores diferentes y cuando quiero mostrar los datos solo recibo el nombre de la persona encuestada y no el del encuestador.
En realidad, tal como estás escribiendo la consulta, debes estar recibiendo los dos nombres, sólo que como tienen el mismo nombre de columna, no los puedes diferenciar...
El del encuestado debe estar saliendo en la segunda posición y el encuestador en último lugar.
De todos modos lo que te conviene siempre es indicar la tabla y ponerles alias a las columnas, y jamás usar el asterisco. Eso es una muy mala practica.
Código SQL:
Ver original
  1. SELECT pe.id_persona_encuestada idencuestado,
  2.   pe.nombre nombreEncuestado,
  3.   pe.respuesta,
  4.   en.id_encuestador,
  5.   en.nombre nombreEncuestador
  6. FROM persona_encuestada pe
  7.    INNER JOIN encuestadores en ON me.id_encuestador=en.id_encuestador
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 16/09/2013, 04:36
 
Fecha de Ingreso: septiembre-2013
Ubicación: Barcelona
Mensajes: 8
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Duda acerca de relacionar tablas con JOIN

Muchísimas gracias por tu ayuda gnzsoloyo!

Con tu solución me funciona perfecto.

Saludos!!

Etiquetas: acerca, join, mysql, relacionar, select, tabla, tablas
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 12:45.