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

[SOLUCIONADO] Imprimir consulta inner join con php

Estas en el tema de Imprimir consulta inner join con php en el foro de Mysql en Foros del Web. Hola que tal buen día, aquí de nuevo haciendo una consulta XD Resulta que tengo dos tablas con la mayoría de los campos iguales (nombre,apellido_paterno, ...
  #1 (permalink)  
Antiguo 05/04/2013, 13:40
 
Fecha de Ingreso: agosto-2011
Ubicación: Ensenada
Mensajes: 24
Antigüedad: 12 años, 7 meses
Puntos: 0
Exclamación Imprimir consulta inner join con php

Hola que tal buen día, aquí de nuevo haciendo una consulta XD

Resulta que tengo dos tablas con la mayoría de los campos iguales (nombre,apellido_paterno, etc) , pero no se como distinguir al imprimir la consulta de una tabla con otra, en este caso tengo PROMOTOR que tiene N numero de PROMOVIDOS pero si quiero imprimir los dos campos nombre, solo me imprime el de PROMOTOR

Lo que que deseo es imprimir una tabla con el nombre del PROMOTOR y todos sus PROMOVIDOS

bueno les dejo un pedazo del código y el resultado, espero me haya explicado, de antemano gracias por su ayuda

Código MySQL:
Ver original
  1. SELECT  promovido.folio,promovido.nombre,promovido.apellido_paterno,
  2. promotor.id_promotor,promotor.folio, promotor.nombre,promotor.apellido_paterno
  3. FROM `promovido`
  4. INNER JOIN`promotor`
  5. ON promotor.folio = 1245 AND promovido.folio = 1245

Última edición por gnzsoloyo; 05/04/2013 a las 13:56 Razón: Código de programación no permitido en foros de BBDD.
  #2 (permalink)  
Antiguo 05/04/2013, 13:59
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: Imprimir consulta inner join con php

Para poder diferenciar las columnas origen, bastaría con que pongas alias a los campos del SELECT que los distingan:
Código MySQL:
Ver original
  1.     pr.id_promotor ,
  2.     pr.folio folio_promotor,
  3.     pr.nombre nombre_promotor,
  4.     pr.apellido_paterno apellido_promotor,
  5.     pv.folio folio_promovido,
  6.     pv.nombre nombre_promovido,
  7.     pv.apellido_paterno apellido_promovido
  8. FROM `promotor` pr INNER JOIN `promovido` pv ON pr.folio = pv.folio
  9. WHERE pr.folio = 1245;

Por otro lado, el INNER JOIN tampoco estaba bien escrito, comop podrás ver.

Finalmente, una nota: En los foros de Bases de Datos no está permitido postear código de programación, ni tratar temas relacionados con él. Sólo SQL, y administracion y configuración de BBDD.
__________________
¿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 05/04/2013, 13:59
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: Imprimir consulta inner join con php

Para poder diferenciar las columnas origen, bastaría con que pongas alias a los campos del SELECT que los distingan:
Código MySQL:
Ver original
  1.     pr.id_promotor ,
  2.     pr.folio folio_promotor,
  3.     pr.nombre nombre_promotor,
  4.     pr.apellido_paterno apellido_promotor,
  5.     pv.folio folio_promovido,
  6.     pv.nombre nombre_promovido,
  7.     pv.apellido_paterno apellido_promovido
  8. FROM `promotor` pr INNER JOIN `promovido` pv ON pr.folio = pv.folio
  9. WHERE pr.folio = 1245;

Por otro lado, el INNER JOIN tampoco estaba bien escrito, comop podrás ver.

Finalmente, una nota: En los foros de Bases de Datos no está permitido postear código de programación, ni tratar temas relacionados con él. Sólo SQL, y administracion y configuración de BBDD.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 05/04/2013, 14:23
 
Fecha de Ingreso: agosto-2011
Ubicación: Ensenada
Mensajes: 24
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Imprimir consulta inner join con php

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Para poder diferenciar las columnas origen, bastaría con que pongas alias a los campos del SELECT que los distingan:
Código MySQL:
Ver original
  1.     pr.id_promotor ,
  2.     pr.folio folio_promotor,
  3.     pr.nombre nombre_promotor,
  4.     pr.apellido_paterno apellido_promotor,
  5.     pv.folio folio_promovido,
  6.     pv.nombre nombre_promovido,
  7.     pv.apellido_paterno apellido_promovido
  8. FROM `promotor` pr INNER JOIN `promovido` pv ON pr.folio = pv.folio
  9. WHERE pr.folio = 1245;

Por otro lado, el INNER JOIN tampoco estaba bien escrito, comop podrás ver.

Finalmente, una nota: En los foros de Bases de Datos no está permitido postear código de programación, ni tratar temas relacionados con él. Sólo SQL, y administracion y configuración de BBDD.
Gracias,

Haber si entendí, pr es el alias de promotor y pv el alias de promovido pero esto como lo plasmo al imprimir mediante php intente esto [ echo="pv.nombre"] con la función mysql_fetch_array pero no me funciono. como imprimo cada uno. Gracias

Lo de INNER JOIN lo que pasa es que pretendo cambiar los números por variables enviadas desde un FORM para hacer busquedas....
  #5 (permalink)  
Antiguo 05/04/2013, 14:43
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: Imprimir consulta inner join con php

Cita:
Haber si entendí, pr es el alias de promotor y pv el alias de promovido pero esto como lo plasmo al imprimir mediante php intente esto [ echo="pv.nombre"] con la función mysql_fetch_array pero no me funciono. como imprimo cada uno. Gracias
No has entendido el uso de los alias puestos en las columnas. Los otros son los de las tablas, y su uso es específicamente para simplicidad de lectura y escritura de consultas.
Si te fijas con cuidado, al lado de cada columna hay un alias adicional y ese es el nombre de la columna para el momento en que el PHP recupera los datos. Los alias de las tablas nunca aparecerán en PHP, sólo el nombre de la columna, o, en este caso, el alias que se le puso en el SELECT.

Cita:
Lo de INNER JOIN lo que pasa es que pretendo cambiar los números por variables enviadas desde un FORM para hacer busquedas....
De todos modos, ese INNER JOIN está mal redactado, porque su sintaxis es la que te estoy poniendo. Puedes comprobarlo en cualquier manual.
Además, en la forma que lo usas puedes estar obteniendo un resultado erróneo. Hay razones para pensar en eso.
La parametrización que quieres poner va en el WHERE, no en el FROM, es como te la pongo.
Pruebala y verás.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 05/04/2013, 15:42
 
Fecha de Ingreso: agosto-2011
Ubicación: Ensenada
Mensajes: 24
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Imprimir consulta inner join con php

gnzsoloyo

MAESTRO

Ya capte todo el rollo, como dijiste no había observado con cuidado el alias de la columna, ya logre el objetivo, muchas gracias y también observe mi error en el INNER JOIN, asi que mi variable la debo insertar en el Where

Muchas gracias por tu tiempo saludos
  #7 (permalink)  
Antiguo 05/04/2013, 16:57
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: Imprimir consulta inner join con php

__________________
¿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: campo, join, php, select, sql, tabla
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 02:51.