Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Consulta Sql para los 7 dias de la semana (https://www.clubdelphi.com/foros/showthread.php?t=21757)

Ricsato 26-05-2005 21:05:49

Consulta Sql para los 7 dias de la semana
 
Saludos a todos, me gustaria que alguien me auxilie, necesito hacer una consulta de ventas, en donde debo desglozar las ventas de una semana de una fecha dada por dias, con la siguiente sentencia me saca un resumen global de todas las ventas por vendedor, creandome y sumandome dos columnas de acuerdo al tipo de venta.


SELECT epl_nombre, SUM(tablas.ventas_normal) AS Normales,
SUM(tablas.Ventas_empresas) AS Empresas
FROM (SELECT CASE not_venta WHEN '0' THEN not_importe ELSE 0
END AS ventas_normal,
CASE not_venta WHEN '1' THEN not_importe ELSE 0 END
AS ventas_empresas, epl_nombre
FROM NOTAVENTA
WHERE emp_codigo = '004') tablas
GROUP BY epl_nombre


La pregunta es, como puedo sacar las ventas de cada dia de la semana, obteniendo una columna para cada dia con la suma de sus respectivas ventas por dia y vendedor, utilizando la sentencia anterior? o si existe alguna otra mejor manera de resolver esta consulta?, se los agradecere.

Ricardo.
Saludos desde Mexicali, B.C., en Mexico

droguerman 26-05-2005 23:33:23

que gestor de BD utilizas??

Ricsato 27-05-2005 00:55:07

Sql
 
utilizo SQL server 7

ramiretor 28-05-2005 00:48:59

Hola:
La consulta es similar que la que tienes, pero en el group by necesitas poner la fecha que corresponda:
Código SQL [-]
  Select campofecha, epl_nombre, sum(....
    ................
   group by fecha, epl_nombre

Yo no conozco ese motor pero debe funcionar

Saludos y espero te sirva

marcoszorrilla 28-05-2005 14:34:25

Entiendo que habría que añadir el rango de fechas para ajustarse a una semana.

Código SQL [-]
 Where Fecha Between xxx And yy
Un Saludo.

Ricsato 28-05-2005 20:17:31

Asi es tienen razon en lo que me recomiendan, pero realmente yo estaba buscando alguna instruccion en SQL que me sacara los totales pero por "dia", no totales a los 7 dias de la semana, ni especificando tampoco una sola fecha (un dia). Gracias por su ayuda, lo que tuve que hacer, fue hacerlo por codigo, aunque mas extenso de lo que me imaginaba:

QCorteCaja.First;
While not QCorteCaja.EOF do begin
if qSemana.FieldByName('Epl_Nombre').AsString = 'NOMBRE EMPLEADO then
Begin
qSemana.FieldByName('Lunes').AsFloat:= qSemana.FieldByName
('Lunes').AsFloat + qCorteCaja.FieldByName
('Ventas_Normal').AsFloat;
..........Martes..........
..............................., etc.
end;
end;

Lo que hice fue urtilizando el Query qCortecaja, vacie sus datos condicionandolos por dia en otro nuevo y en blanco (Qsemana) y asi ya obtuve lo que necesitaba.


La franja horaria es GMT +2. Ahora son las 05:36:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi