Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   slq entre dos fechas comparar fechas (https://www.clubdelphi.com/foros/showthread.php?t=46356)

taru 30-07-2007 08:37:18

slq entre dos fechas comparar fechas
 
Hola, necesito un poco de ayuda, mi problema es el siguiente:
Tengo que hacer un select de una tabla donde guardo los tickets, tanto las cabeceras como los objetos comprados. Eso ya lo solucione en una consulta anterior. Ahora me encuentro con el problema de coger solo los que entrar entre dos fechas. Para ello en el Form tengo 2 tdatetimepicker con la fecha comiecnzo y la final. Pues lo he pensado de 1000 maneras y no funciona. Me da todos los tickets no solo los de entre las dos fechas dichas. Os pongo mi select:
Código SQL [-]
SELECT ticket.unidades AS unidades, ticket.desc_producto AS desc_producto, ticket.ptotal AS precio,  ticketcabecera.nombre AS nombre, ticketcabecera.fecha AS fecha FROM '  + bdticket + ' AS ticketcabecera INNER JOIN ticket ON ticket.idticket = ticketcabecera.id WHERE (ticket.desc_producto LIKE ' + QuotedStr('%' + filtro.Text + '%') + ') AND (ticketcabecera.fecha > ' + quotedstr(datetostr(fechacomienzo.date)) + ') AND (ticketcabecera.fecha < ' + quotedstr(datetostr(fechafinal.date)) + ')';
Que creeis que pueda ser?

Onti 30-07-2007 08:52:43

Puedes probar con este codigo

Código SQL [-]
SELECT 
  ticket.unidades AS unidades,
  ticket.desc_producto AS desc_producto,
  ticket.ptotal AS precio,
  ticketcabecera.nombre AS nombre,
  ticketcabecera.fecha AS fecha 
FROM 
  ticketcabecera,
  ticket
WHERE
  ticket.idticket = ticketcabecera.id AND
  ticketcabecera.fecha >= :FECHA1 AND
  ticketcabecera.fecha <= :FECHA2

Código Delphi [-]
  QConsulta.close;
  QConsulta.ParamByname('Fecha1').Value :=E_Fecha1.date;
  QConsulta.ParamByname('Fecha1').Value :=E_Fecha2.date;
  QConsulta.Open;

Ferrari 30-07-2007 16:10:36

Between
 
Te recomiendo que lo armes con between, te quedaria algo asi:
Código SQL [-]
SELECT 
  ticket.unidades AS unidades, 
  ticket.desc_producto AS desc_producto, 
  ticket.ptotal AS precio,  
  ticketcabecera.nombre AS nombre, 
  ticketcabecera.fecha AS fecha 
FROM bdticket,ticket
WHERE ticket.idticket = ticketcabecera.id
AND (ticket.desc_producto LIKE ' + QuotedStr('%' + filtro.Text + '%') + ') 
AND FechaQueBuscas  BETWEEN :fechacomienzo AND  :fechafinal
saludos;)


La franja horaria es GMT +2. Ahora son las 08:47:40.

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