Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/11/2009, 12:02
Avatar de Capote
Capote
 
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 17 años, 5 meses
Puntos: 0
Problemas con consulta usando JOIN

Hola.Tengo un pequeño problema con una consulta que deseo realizar.
En mi base datos tengo un par de tablas: encabezado_guia_servicio, cuero_guia_servicio, pie_guia_servicio. Resulta que todas estan unidas por el numero de guia que es pk en la tabla encabezado_guia_servicio.
Ahora necesito hacer una consulta, que me traiga los datos de las 3 tablas y si en alguna de ella hay llavaes foraneas de otras tablas por medio de un join "remplazo" ese "id" por la descripcion ( asi no sale un 1,2,3,4...N y sale su descripcion: Activo, inactivo, etc) , hasta ahi todo bien. ahora el problemilla es el siguiente. Resulta que deseo traer los valores de los parametros de la tabla cuerpo_guia_servicio (numero_linea, cantidad, volumen) pero sucede que en vez de mostrarme los datos como estan en la base datos que es asi:

Numero linea-----Cantidad-------Volumen
........1.....................10...............100 ...
........2.....................25...............80. ....

Me trae:

Numero linea-----Cantidad-------Volumen
........1.....................10...............100 ...
........1.....................10...............80. ....
........1.....................25...............100 ...
........1.....................25...............80. ....
........2.....................10...............100 ...
........2.....................10...............80. ....
........2.....................25...............100 ...
........2.....................25...............80. ....


Aqui mi código:

Código PHP:
select 
eg
.numero_guia_servicio,
eg.fecha_guia,
CONCAT(c.rut_cliente,"-",c.dv_cliente),
eg.id_contrato_cliente,
re.descripcion_relleno_sanitario,
eg.numero_ticket_relleno,
est.descripcion_estado_guia,
cg1.numero_linea,
cg2.cantidad,
cg3.volumen


from encabezado_guia_servicio eg

join cliente c ON eg
.rut_cliente c.rut_cliente
join relleno_sanitario re on eg
.id_relleno_sanitario=re.id_relleno_sanitario
join estado_guia_servicio est on eg
.id_estado_guiaest.id_estado_guia 
join cuerpo_guia_servicio cg1 on eg
.numero_guia_serviciocg1.numero_guia_servicio
join cuerpo_guia_servicio cg2 on eg
.numero_guia_servicio cg2.numero_guia_servicio
join cuerpo_guia_servicio cg3 on eg
.numero_guia_servicio cg3.numero_guia_servicio 
¿Que estoy haciendo mal en la consulta?
saludos
__________________
"La blanda respuesta quita la ira, Mas la palabra áspera hace subir el furor"