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

Ah vaya, Highlight pensé que era para poner un fondo a la letra, en muchos programas es eso sino me equivoco ni se me pasó por la cabeza. Lo que hacía era ir a avanzado para poder poner las etiquetas pinchando en los botones correspondientes, jaja. Para otra ya sé.

De hecho pongámoslo en práctica. He llegado a esto pero algo tiene que estar mal porque me muestra algunos más pero no todos los que no tienen facturas para el citado año:
Código SQL:
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 LEFT JOIN clientes c ON cod.clapai=c.clapai LEFT JOIN factura f ON c.clacli=f.clacli LEFT JOIN factural fl ON f.clafac=fl.clafac LEFT JOIN articulo a ON fl.claart=a.claart
  4. WHERE tipos.clatip=c.clatip
  5. AND tar.clatar=c.clatar                            
  6. AND a.clacat=21
  7. AND c.clatip=2
  8. $filtro                
  9. GROUP BY c.clacli
  10. ORDER BY TOTAL

Es incorrecto mezclar left join con los join normales =?

Es que esos 2 campos que quedan, además de que siempre estan enlazados así que supongo que daría igual, no veo forma de meterlos ahí en medio enlazando con clientes.