Ver Mensaje Individual
  #24 (permalink)  
Antiguo 18/02/2008, 14:38
Avatar de Beakdan
Beakdan
 
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 23 años
Puntos: 7
Re: Como Insertar info de una tabla en otra

Creo que te he confundido.
Primero, literal se refiere a la manera de expresar con letras un concepto.
Ahora bien, cuando digo que al comparar o asignar es mejor usar una fecha que un literal me refiero a esto:
Código:
WHERE a.Fecha = b.Fecha  --Comparar dos tablas con campos datetime
WHERE Fecha = @Fecha    --Comparar un campo datetime con una variable datetime
Y no a errores comunes que se llega uno a encontrar como:
Código:
WHERE a.Fecha = CONVERT(CHAR(10), b.Fecha, 103)
¿Por qué es un error? Pues porque ya se tenía una fecha, lo lógico es que la comparación fuera directa. ¿Para que convertirlo a una literal insegura (dd/mm/yyyy)? Tal vez para omitir la hora y comparar sólo con las fechas. Pero en ese caso hay que usar el formato ISO:
Código:
WHERE a.Fecha = CONVERT(CHAR(8), b.Fecha, 112)
Como puedes ver, no siempre puedes evitar el uso de literales de fecha.

Ahora bien, sobre tu problema, ya te había hecho notar que todas las fechas almacenadas son del segundo día de los meses de enero a noviembre. El código de la consulta está bien, y los resultados son correctos para lo que tienes almacenado en la tabla.
Así que para que se muestren los datos en los días "correctos", debes corregir las fechas ya almacenadas.
Nunca me dijiste cómo guardan la información en VentasAcumXDia ¿que pasó al guardar lo del día 13? ¿Cómo es el código al guardar? Allí es donde deben estar manejando mal las fechas. Y alli es donde deben estar haciendo un uso inadecuado de los formatos.