03/07/2013, 13:03
|
| Colaborador | | Fecha de Ingreso: agosto-2006 Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses Puntos: 774 | |
Respuesta: Consulta de dos tablas Cita:
Iniciado por chule_chuletas Mira lo siguiente:
SET DATEFORMAT DMY
SELECT
SAFACT.FechaE, SAFACT.CodVend, SAVEND.Descrip,
COUNT(*) AS cantidad_de_facturas
FROM SAFACT INNER JOIN
SAVEND ON SAFACT.CodVend = SAVEND.CodVend
WHERE (SAFACT.TipoFac = 'a')
and SAFACT.FechaE BETWEEN '1/06/2013 06:0:00:000'
and '30/06/2013 20:0:00:000'
AND (SAFACT.CodVend = 110)
GROUP BY SAFACT.FechaE,SAFACT.CodVend, SAVEND.Descrip
Eso es tu query
Y esto tu resultado
2013-06-03 08:40:51.323 110 YOSMARY PEREZ 1
2013-06-03 09:03:42.523 110 YOSMARY PEREZ 1
2013-06-03 09:14:49.650 110 YOSMARY PEREZ 1
2013-06-03 09:37:44.563 110 YOSMARY PEREZ 1
2013-06-03 09:44:00.110 110 YOSMARY PEREZ 1
2013-06-03 09:47:24.633 110 YOSMARY PEREZ 1
2013-06-03 09:48:30.183 110 YOSMARY PEREZ 1
2013-06-03 10:06:45.797 110 YOSMARY PEREZ 1
2013-06-03 10:18:22.010 110 YOSMARY PEREZ 1
2013-06-03 10:22:37.877 110 YOSMARY PEREZ 1
2013-06-03 10:27:24.150 110 YOSMARY PEREZ 1
2013-06-03 10:40:01.577 110 YOSMARY PEREZ 1
2013-06-03 10:56:37.697 110 YOSMARY PEREZ 1
2013-06-03 11:07:31.463 110 YOSMARY PEREZ 1
2013-06-03 11:47:49.373 110 YOSMARY PEREZ 1
2013-06-03 11:48:09.540 110 YOSMARY PEREZ 1
2013-06-03 12:15:47.217 110 YOSMARY PEREZ 1
2013-06-03 12:28:32.433 110 YOSMARY PEREZ 1
2013-06-03 12:35:13.930 110 YOSMARY PEREZ 1
Estas agrupando por fecha pero con horas, minutos y segundos como datos! Debes agrupar solo por la fecha, osea en el select deberias tomar de SAFACT.fechaE solo Y-m-d, para ello existe la funcion:
SELECT DATE_FORMAT(SAFACT.fechaE, '%Y-%m-%d') AS fecha, SAFACT.CodVend, SAVEND.Descrip,
COUNT(*) AS cantidad_de_facturas
FROM SAFACT INNER JOIN
SAVEND ON SAFACT.CodVend = SAVEND.CodVend
WHERE (SAFACT.TipoFac = 'a')
and SAFACT.FechaE BETWEEN '1/06/2013 06:0:00:000'
and '30/06/2013 20:0:00:000'
AND (SAFACT.CodVend = 110)
El '%Y-%m-%d' de date_format indica que porcion de la fecha tomaras.
Y solo lo afecta en la consulta, obviamente tu DB seguira manteniendo la fecha en formato datetime completo. Date_format no existe en sql server por eso puse el convert(varchar(20),datetime,101) que es el formato para que te lo de en dd/mm/yyyy
saludos!
__________________ What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me |