Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/12/2009, 11:24
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Ayuda con consulta JOIN

Suponiendo la existencia de dos tablas comuna y ciudad, la cosa andaría por aquí:
Código MySQL:
Ver original
  1.   ef.numero_factura,
  2.   ef.fecha_factura,
  3.   (CONCAT(c.rut_cliente,"-",c.dv_cliente) rut_dv_cliente,
  4.   c.giro_cliente,
  5.   c.direccion_cliente,
  6.   c.nombre_comuna,
  7.   c.nombre_ciudad,
  8.   cf.linea_factura,
  9.   cf.id_contrato_cliente,
  10.   cf.cantidad,
  11.   cf.descuento,
  12.   cf.precio_unitario,
  13.   pf.valor_neto,
  14.   pf.valor_iva,
  15.   pf.valor_bruto,
  16.   pf.total_descuento
  17. FROM encabezado_factura ef
  18.   INNER JOIN cuerpo_factura cf USING (numero_factura)
  19.   INNER JOIN pie_factura pf USING (numero_factura)
  20.   INNER JOIN cliente c USING(rut_cliente)
  21.   LEFT JOIN comuna co ON co.id_comuna = c.id_comuna
  22.   LEFT JOIN ciudad ci ON ci.id_ciudad = c.id_ciudad;
Estoy suprimiendo las subconsultas en el SELECT porque esos datos deben obtenerse del FROM, de lo contrario la consulta será MUY ineficiente.
Esto puede requerir algun ajuste, conforme sean los datos y las tablas que tu tengas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)