Ver Mensaje Individual
  #6 (permalink)  
Antiguo 09/11/2012, 10:11
alyciashape
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años, 6 meses
Puntos: 58
Respuesta: Como enlazar multiples tablas. Optimizar consulta

Bueno tras mil y un problemas al final he tenido que hacerlo en una única consulta. Así:

Código MySQL:
Ver original
  1. SELECT c.clacli AS CODIGO, c.nombre AS NOMBRE, c.direccion AS DIRECCION, c.localidad AS LOCALIDAD, c.telefono AS TELEFONO, c.contacto AS CONTACTO, c.provincia AS PROVINCIA, tar.nombre AS TARIFA,
  2.                 ROUND(SUM((fl.precio-((fl.precio*fl.dto)/100))*fl.cantidad), 2) AS TOTAL
  3.                 FROM tiposcli tipos, tarifa tar, codpais cod, clientes c, factura f, factural fl, articulo a
  4.                 WHERE tipos.clatip=c.clatip
  5.                 AND tar.clatar=c.clatar
  6.                 AND cod.clapai=c.clapai
  7.                 AND c.clacli=f.clacli
  8.                 AND fl.clafac=f.clafac
  9.                 AND a.claart=fl.claart
  10.                 AND a.clacat=21
  11.                 AND c.clatip=2                
  12.                 $filtro                
  13.                 GROUP BY c.clacli
La cuestión es que ahora me dicen que deberían salir también los que no tienen resultados. Es decir, un LEFT JOIN. Pero no veo forma humana de convertir eso a LEFT JOIN.

Última edición por gnzsoloyo; 09/11/2012 a las 10:21 Razón: Etiquetado de codigo SQL equivocado.