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

Hola.
Resulta que tengo una tabla que se llama cuerpo_factura en ella tengo un campo que se llama precio_unitario. En otra tabla que se llama pie_guia_servicio tengo un campo que se llama valor_guia. Lo que neceisto hacer es que en la tabla cuerpo_factura el campo precio_unitario tenga el valor total de todas las guias de servicio de un contrato x y del mes X.
El problema es que nose "como llegar" a esa tabla pues entre ambas no estan relacionadas de manera directa solo por medio de otras tablas. Las relaciones es la siguiente:


Código PHP:
Ver original
  1. Tabla:pie_factura--------cuerpo_factura|-------encabezado_factura---cliente-------encabezado_guia_servicio-------cuerpo_guia_servicio----pie_guia_servicio-----
  2. pk----numero_factura|----numero_factura--------numero_factura-------rut_cliente---numero_guia_servicio-----------numero_guia_servicio----numero_guia_servicio--
  3. FK:----------------------id_contrato_cliente---rut_cliente----------id_ciudad-----rut_cliente/id_contrato_cliente---------------------------------------------------------------

Espero que se me alla entendido, aquí dejo mi consulta que llevo hasta ahora:

Código MySQL:
Ver original
  1.                 ef.numero_factura,
  2.                 ef.fecha_factura,
  3.                 CONCAT(c.rut_cliente,"-",c.dv_cliente),
  4.                 c.giro_cliente,
  5.                                 c.direccion_cliente,
  6.                 co.descripcion_comuna,
  7.                 ci.descripcion_ciudad,
  8.                 cf.linea_factura,
  9.                 cf.id_contrato_cliente,
  10.                 cf.cantidad,
  11.                 cf.precio_unitario,
  12.                 cc.resumen_contrato_cliente,
  13.                 pf.valor_neto,
  14.                 pf.valor_iva,
  15.                 pf.valor_bruto,
  16.                 pf.total_descuento
  17.  
  18.                         FROM encabezado_factura ef
  19.  
  20.                         INNER JOIN cuerpo_factura cf USING (numero_factura)
  21.                    INNER JOIN pie_factura pf USING (numero_factura)
  22.                    INNER JOIN cliente c USING (rut_cliente)
  23.                    LEFT JOIN contrato_cliente cc ON cc.id_contrato_cliente = cf.id_contrato_cliente
  24.                    LEFT JOIN comuna co ON co.id_comuna = c.id_comuna
  25.                    LEFT JOIN ciudad ci ON ci.id_ciudad = c.id_ciudad

En la linea 12 esta el campo que me tiene que tener el valor de las suma de todas las guias del contrato x y el mes x


Saludos y gracias
__________________
"La blanda respuesta quita la ira, Mas la palabra áspera hace subir el furor"