FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Ayuda para montar una consulta
Hola compañeros me encuentro un poco torpe no se si es por la hora o por que aun no me he acostado, perro llevo un rato y no consigo lo que quiero y os pido ayuda para que me ayudéis a como montar la siguiente consulta.
Lo que quiero hacer es recorrer por orden de código todos los clientes, y que me diga el total de lo comprado entre unas determinadas fechas, poniéndome 0 en los que no hayan comprado nada, así de esta manera, se puede ver que clientes ya no compran o no se les ha visitado nuevamente. La estructura de las tablas Cliente y Facturas os la detallo a continuación: CLIENTES
Y facturas
El que los clientes que no hyan comprado entre las fechas dadas lo ponga a 0 es importante, ya que en el grid, los marcara en rojo, mientras que al resto en verde. Claro esta que mejor si sólo aparece un registro por cliente con el total de todas las facturas que tenga en ese mes Desde ya os doy las gracias, ahora me voy a dormir.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#2
|
||||
|
||||
Hola compañeros, de momento tengo la siguiente consulta
Pero esta sólo me da los clientes que han comprado, en en esas fechas, y además me da un registro por cada factura, cuando lo que quiero, es que si el cliente no ha comprado, rellene el total con un 0 y además totalice todas las facturas en un sólo registro, sigo trabajando en ello, si voy consiguiendo algo más lo iré publicando
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#3
|
||||
|
||||
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 - |
#4
|
||||
|
||||
A ver hijito
HE intentado, como me dices cambiando el por o
Pero sigue en las mismas, de hecho he quitado incluso la tabla empleados, para facilitarlo, el código esta como te pongo aquí
Pero sigue en las mismas ni aparecen los clientes que no han comprado, ya sabes tirarme de las orejas si estoy equivocado, voy a probar ahora lo de agruparlos y cuando puedas ya me indicaras si no te molesta.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#5
|
||||
|
||||
Cita:
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#6
|
||||
|
||||
Te comento, he intentado lo de los grupos y no funciona, el código lo he puesto como sigue
y este es el resultado Te he marcado en rojo, tanto el código que es el del cliente, puedes ver que en vez de haber un único registro hay varios y en los totales, la cantidad de cada factura
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#7
|
||||
|
||||
Hola José.
Cita:
Pero en esa consulta no es lógico pedir datos específicos de una factura tál como la fecha (FA.FECHA), ya que podrá haber distintas fechas en distintas facturas para el mismo cliente. Y además, no se correspondería con el sentido de la consulta que es obtener el total comprado por cada uno de los clientes entre dos fechas. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 26-04-2014 a las 18:34:52. Razón: ortografía |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Servicios gratuitos para montar una empresa (WEB) | MAXIUM | La Taberna | 9 | 05-11-2013 08:18:02 |
Solicito ayuda en cuestiones de montar un TPV | José Luis Garcí | Varios | 10 | 14-03-2012 09:05:49 |
Seleccion multiple para montar query | tgsistemas | SQL | 8 | 22-04-2010 18:48:19 |
Montar un apache para dominio publico, que necesito... | alexander66 | PHP | 2 | 28-03-2007 00:52:33 |
Montar red para 2 PCs | alfredosg19 | Redes | 5 | 17-07-2006 09:07:23 |
|