Ver Mensaje Individual
  #11 (permalink)  
Antiguo 03/07/2013, 13:03
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Consulta de dos tablas

Cita:
Iniciado por chule_chuletas Ver Mensaje
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