En mi proyecto estoy usando una tabla denominada "Compensación" ..... comoPHP y MySql con problema de fecha ...?
+--------------------------------------------------------------+
| Id | receiver_Id | compensation | date |
|--------------------------------------------------------------|
| 1 | 5 | 50% | 2011-02-15 12:15:00 |
| 2 | 3 | 40% | 2011-04-05 18:35:00 |
| 3 | 3 | 30% | 2011-04-25 06:24:00 |
| 4 | 5 | 45% | 2011-04-21 19:05:00 |
| 5 | 5 | 60% | 2011-04-30 12:05:00 |
.......................
Aquí el date represents that the compensation is changed on that particular date
. Para receiver 5
, la compensación es 50% before Feb 15 2011. And the compensation is
45% de
the date
15 de febrero de 2011 12:15:01 a 21 de abril de 2011 19: 05: 00`. Y así sucesivamente ....
Aquí Cuando creo invoice
para el mes APRIL 2011
para la receiver 5
, tengo que usar el compensation as 45%
hasta la fecha 21 April 2011
y para 22 April 2011 to 30 April 2011 I have to use 60%
como compensación ...
Pero ¿Cómo obtener el compensación por un mes o entre 2 fechas ya que la compensación puede ser modificada varias veces en un mes como id 4 y 5 muestra .......
Por favor, ayúdenme writing SQL
para lo anterior O tengo que hacer changes
en el table structure
para hacerlo simple ......?
Gracias de antemano
date_from bien y date_to son mismo que dar más temprano y últimos parámetros a igual campo en BETWEEN cláusula wit query y si la compensación no ha cambiado, entonces es una compensación válida en la actualidad. La fecha más reciente siempre es válida en esta estructura, por lo que no es necesario cambiar la estructura –
+1. Pero iría con 'SELECT * FROM compensaciones WHERE NOW() ENTRE date_from AND date_to' – Nemoden
@Nemoden: El OP desea consultar todas las filas que se aplican a un mes entero, no aquellas que solo se aplican a un solo momento (como AHORA()) –