Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/03/2010, 12:53
Avatar de lucasmoadr
lucasmoadr
 
Fecha de Ingreso: marzo-2007
Ubicación: Llavallol, Buenos Aires
Mensajes: 220
Antigüedad: 17 años, 1 mes
Puntos: 5
Respuesta: Relacionar dos registros de una misma tabla (tabla anidada)

Cita:
Iniciado por Bier Ver Mensaje
Tengo una tabla con 3 campos:

CLIENTES
cliente char(8)
nombre char(30)
amigo char(8)

Donde el campo "amigo" corresponde a un registro de la misma tabla y que será a su vez otro cliente.

Mi tabla estará poblada así:
101-Pedro-202
202-Luis-305
305-Paco-408
408-Pepe-978

Actualmente realizo mi consulta con esta instrucción la cual funciona perfectamente:
$consulta = mysql_query("SELECT clientes.cliente, clientes.nombre, clientes.telefono, clientes.amigo FROM clientes", $link);

Con lo cual se despliega:
101-Pedro-202
202-Luis-305
305-Paco-408
408-Pepe-978

Requiero buscar en la tabla el nombre del amigo para desplegarlo así:
101-Pedro-202-Luis
202-Luis-305-Paco
305-Paco-408-Pepe
408-Pepe-978-Juan

Lo anterior lo se hacer para el caso de 2 tablas diferentes con INNER JOIN, pero en este caso que se trata de una misma tabla ¿que debo hacer?

Imaginé hacerlo así:
$consulta = mysql_query("SELECT clientes.cliente, clientes.nombre, clientes.amigo FROM clientes INNER JOIN clientes on clientes.amigo=clientes.amigo", $link);

Pero no se dondecomo indicar el campo "nombre" que es el nombre del amigo.

Espero haberme explicado adecuadamente.

Gracias

proba esto:

$consulta = mysql_query("SELECT clientes1.cliente, clientes1.nombre, clientes1.telefono, clientes1.amigo, clientes2.nombre FROM clientes cliente1, clientes cliente2 where clientes1.amigo = clientes2.cliente", $link);
__________________
Alquileres en la costa
Se tu mismo