Foros del Web » Programando para Internet » PHP »

obtención de datos iguales con Inner join

Estas en el tema de obtención de datos iguales con Inner join en el foro de PHP en Foros del Web. he relacionado 3 tablas con inner join... mi pregunta es: tengo campos que se llaman igual y al usar la función mysql_fetch_array() no se como ...
  #1 (permalink)  
Antiguo 13/10/2003, 04:47
 
Fecha de Ingreso: agosto-2003
Mensajes: 30
Antigüedad: 20 años, 7 meses
Puntos: 0
obtención de datos iguales con Inner join

he relacionado 3 tablas con inner join...
mi pregunta es: tengo campos que se llaman igual y al usar la función mysql_fetch_array() no se como diferenciar dichos campos.
¿Cómo distingo un campo de otro? Pienso que debe ser anteponiendo la tabla pero no me funciona.


Yo lo he puesto así pero me da error: $row["tabla.ID"]


Codigo:
[PHP$sql="SELECT * FROM Tabla1 RIGHT JOIN (tabla2 LEFT JOIN tabla3 ON tabla2.idcliente = tabla3.ID) ON tabla1.idcliente = tabla2.idcliente where tabla3.estado=1";
$result = mysql_query($sql,$link);

while ($row = mysql_fetch_array($result))
{
echo'='.$row["Tabla.ID"].'PHP]
  #2 (permalink)  
Antiguo 13/10/2003, 04:54
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Creo que no tienes mas remedio de especificar en la consulta los campos y usar alias para esos campos. Algo asi:

SELECT tabla1.campo as tabla1_campo, tabla2.campo as tabla2_campo FROM ...

Y luego accedes por el alias:
Código PHP:
echo 'Tabla1: '.$row['tabla1_campo'];
echo 
'Tabla2: '.$row['tabla2_campo']; 
Si haces $row['campo'] te recupera el primer campo con ese nombre.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.

Última edición por josemi; 13/10/2003 a las 05:50
  #3 (permalink)  
Antiguo 13/10/2003, 05:39
 
Fecha de Ingreso: agosto-2003
Mensajes: 30
Antigüedad: 20 años, 7 meses
Puntos: 0
muchas gracias, ya está funcionando
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:32.