Ver Mensaje Individual
  #3  
Antiguo 26-04-2014
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Reputación: 22
fjcg02 Va camino a la fama
A ver abuelete ,
Para qué la consulta te devuelva los registros que no están en la otra tabla, tienes que utilizar LEFT JOIN en lugar de INNER JOIN. LEFT JOIN o rigth JOIN dependiendo del caso.

Para que además te agrupe por cliente, tendrás que agrupar los registros. Para ello utiliza GROUP BY , teniendo en cuenta que aquellos campos que no estén en el GROUP by deberán tener una función de agregado: sum, avrg , min., max .
Ahora bien, si añades al vendedor, te agrupara por cliente y vendedor, que me parece que no es lo que quieres.
Juega un poco con esto que te he dicho a ver si das con la solución. En caso negativo, ya te responderé más concretamente, pero es que ahora desde la tableta no puedo hacer pruebas.

Otra cosa que me gusta mucho a mi es sacar los meses en columnas, y una columna con el total.

Para eso una vez consigas la consulta, tienes que hacer algo así:
Select campos...
Sum(factura.total) as total,
Sum (case when month(factura.fecha)=1 then factura.total else 0 end ) as Enero,
...
Sum (case when month(factura.fecha)=12 then factura.total else 0 end ) as diciembre

From
Clientes
LEFT JOIN facturas on factura.idcliente =cliente.id
GROUP by campo1, ...

Espero que te sirva.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita