Foros del Web » Programando para Internet » PHP »

Duda rápida y sencilla

Estas en el tema de Duda rápida y sencilla en el foro de PHP en Foros del Web. Buenas, tengo una consulta a una base de datos, con INNER JOIN, por lo que busca en dos tablas. El caso es que las dos ...
  #1 (permalink)  
Antiguo 18/11/2008, 12:15
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 15 años, 8 meses
Puntos: 1
Duda rápida y sencilla

Buenas, tengo una consulta a una base de datos, con INNER JOIN, por lo que busca en dos tablas.

El caso es que las dos tablas comparten un campo con el mismo nombre. Después de la búsqueda, quiero sacar un dato en la web, pero sólo de la primera tabla. Entonces si hago un:

if(mysql_num_rows($querydb) > 0){
$row = mysql_fetch_array($querydb);
echo $row['campocompartido'];
}

Cómo puedo hacer que el echo se dirija sólo a los datos encontrados en el campo de la primera tabla? Puedo hacerlo así de alguna forma o tendría que cambiarle los nombres a los campos de las dos tablas para que fueran distintos?

Gracias y un saludo.
  #2 (permalink)  
Antiguo 18/11/2008, 12:20
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: Duda rápida y sencilla

No es necesario, todo depende de tu consulta aunque tengas un INNER JOIN tu puedes solo seleccionar de la tabla 1:
Código sql:
Ver original
  1. SELECT t.`campo`FROM tabla AS t INNER JOIN tabla2 AS t2 ON t.`id`=t2.`id`

Saludos
  #3 (permalink)  
Antiguo 18/11/2008, 12:23
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Duda rápida y sencilla

Bueeenas GatorV,

Muchas gracias, el caso es que necesito no limitar ese dato, pues lo que quiero es hacer el echo:

echo $row['campocompartidotabla1']; // (En la tabla1)

Y más adelante otra vez lo mismo pero de la tabla 2,

Seguramente tenga que cambiar los nombres no?

Gracias y un saludo.
  #4 (permalink)  
Antiguo 18/11/2008, 12:29
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: Duda rápida y sencilla

No, en ese caso puedes usar el alias AS para obtener el campo:
Código sql:
Ver original
  1. SELECT t.`campo` AS 'campo_tabla_1', t2.`campo` AS 'campo_tabla_2' FROM `tabla` AS t INNER JOIN `tabla2` AS t2 ON t.`id`=t2.`id`

Saludos.
  #5 (permalink)  
Antiguo 18/11/2008, 12:31
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Duda rápida y sencilla

Genial, muchas gracias^^
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 23:35.