Tema: Reporte
Ver Mensaje Individual
  #6 (permalink)  
Antiguo 18/06/2012, 12:06
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Reporte

Hola de nuevo palmach:

En realidad estás hablando de dos consultas distintas, es decir en una estás involucrando rangos de fechas, por lo tanto la condición de filtrado del WHERE debería quedar así:

Código:
WHERE
  fecha BETWEEN
  DATE_FORMAT(pFechaFinal,'%Y/%m/01') AND
  DATE_SUB(pFechaFinal, INTERVAL 1 DAY);
Para que te arroje sólo lo de la fecha final en el mismo reporte no deberías utilizar BETWEEN, sino simplemente hacer una igualación:

Código:
WHERE
  fecha  = pFechaFinal;
De una vez que comento que no puedes hacer un WHERE CONDICIONAL, por si estás pensando en que se ponga una condición u otra... lo que puedes hacer en todo caso sería utilizar una sentencia preparada la cual construyas de manera dinámica y en donde decidas a partir de una condición qué condición incluir:

http://dev.mysql.com/doc/refman/5.0/es/sqlps.html

Otra alternativa en su defecto sería tener dos procedimientos almacenados distintos, uno para el rango y otro para una fecha en concreto.

Saludos
Leo.