Foros del Web » Programando para Internet » PHP »

Sacar datos de una consulta en Mysql con Inner Join

Estas en el tema de Sacar datos de una consulta en Mysql con Inner Join en el foro de PHP en Foros del Web. Buenas tardes a todos... Tengo una duda que no logro encontrar en internet (seguramente, no se bien cómo buscarla correctamente). La cosa es asi: COn ...
  #1 (permalink)  
Antiguo 21/07/2009, 15:01
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Sacar datos de una consulta en Mysql con Inner Join

Buenas tardes a todos...

Tengo una duda que no logro encontrar en internet (seguramente, no se bien cómo buscarla correctamente). La cosa es asi:

COn una consulta normal de mysql, para imprimirla en php hago $row_consulta['id']. Esto no es problema, ya que cuento con una sola tabla.

Ahora, si yo tengo una consulta que une 2 o mas tablas con INNER JOIN, entonces, PARA MI, lo logico hubiese sido hacer $row_consulta['tabla.id'].

Pero esto no funciona, no me imprimi nigun valir. Entonces, cuale es la forma correcta de recoger los datos cuando hay 2 o más tablas, que puedan tener nombres de campos iguales??

Gracias de antemano!

Pablo
  #2 (permalink)  
Antiguo 21/07/2009, 15:07
 
Fecha de Ingreso: abril-2008
Mensajes: 8
Antigüedad: 16 años
Puntos: 0
Respuesta: Sacar datos de una consulta en Mysql con Inner Join

Hola, puedes hacer esto en la consulta, para diferenciar los campos que se laman igual en una consulta con inner join o sin él, siempre que se dé esa coincidencia entre nombres de campos:

por ejemplo, si tienes esto:

sql="select clientes.nombre, proveedores.nombre from clientes, proveedores";

puedes hacer esto:

sql="select clientes.nombre as cli_nombre, proveedores.nombre as prov_nombre from clientes, proveedores";

De esta forma, cuando hayas abierto el recordset y quieras consultar ese campo concreto con nombre duplicado, solo tienes que llamarlo por su alias, que es lo que hemos puesto detras del "as".

$row_consulta['cli_nombre']
$row_consulta['prov_nombre']

Espero haberte ayudado.

Saludos!!!
  #3 (permalink)  
Antiguo 21/07/2009, 15:13
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Sacar datos de una consulta en Mysql con Inner Join

y no existe alguna otra alternativa? Por ejemplo, en mi caso, relaciono 5 tablas donde todas tienen 3 campos con el mismo nombre (nombre,id,uso). Además, cada tabla tiene cerca de 6 campos cada una, por lo que tendria que seleccionar manualmente, 30 registros, y renombrar 15?? No hay otra forma??

Gracias!
  #4 (permalink)  
Antiguo 21/07/2009, 17:16
 
Fecha de Ingreso: abril-2008
Mensajes: 8
Antigüedad: 16 años
Puntos: 0
Respuesta: Sacar datos de una consulta en Mysql con Inner Join

bueno, no se a que te refieres con lo de 30 registros, pero lo de los 15 campos, tampoco son tantos..! es un momento! jeje

suerte!
  #5 (permalink)  
Antiguo 21/07/2009, 22:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Sacar datos de una consulta en Mysql con Inner Join

La otra forma es que crees una consulta view esta es una tabla como "virtual" basada en una consulta SQL, asi puedes consultar desde PHP este view.

Saludos.
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:39.