Mira, no creo que la consulta que te propongo te esté dando lo mismo que tu sacas al principio. Si yo la ejecuto sobre la consola de MySQL, lo que obtengo es:
Código MySQL:
Ver originalQuery OK, 0 rows affected (0.01 sec)
-> ('07:00:00'),
-> ('08:00:00'),
-> ('09:00:00'),
-> ('10:00:00'),
-> ('11:00:00'),
-> ('12:00:00'),
-> ('13:00:00'),
-> ('14:00:00'),
-> ('15:00:00'),
-> ('16:00:00'),
-> ('17:00:00'),
-> ('18:00:00'),
-> ('19:00:00'),
-> ('20:00:00');
Query OK, 14 rows affected (0.04 sec)
Query OK, 0 rows affected (0.01 sec)
-> ('2011-09-25','07:00:00'),
-> ('2011-09-25','09:00:00'),
-> ('2011-09-25','12:00:00'),
-> ('2011-09-25','15:00:00'),
-> ('2011-09-25','16:00:00'),
-> ('2011-09-25','17:00:00');
Query OK, 6 rows affected (0.02 sec)
Y los datos obtenidos:
Código MySQL:
Ver original+----------+------------+----------+
| r_hora | fecha | hora |
+----------+------------+----------+
| 07:00:00 | 2011-09-25 | 07:00:00 |
| 09:00:00 | 2011-09-25 | 09:00:00 |
| 12:00:00 | 2011-09-25 | 12:00:00 |
| 15:00:00 | 2011-09-25 | 15:00:00 |
| 16:00:00 | 2011-09-25 | 16:00:00 |
| 17:00:00 | 2011-09-25 | 17:00:00 |
+----------+------------+----------+
14 rows
in set (0.00 sec
)
Lo que es manifiestamente diferente de lo que dices, y es exactamente lo que quieres obtener.
Existen, si, algunas diferencias:
1) Las horas se deben almacenar en campos de tipo TIME y las fechas en campos de tipo DATE. Tu parece que lo haces en VARCHAR, lo cual es un error grave y que puede generar errores de consulta y resultados erróneos.
2) Si lo que quieres obtener es la hora en formato AM/PM, no es necesario un VARCHAR para ello. Basta con usar la función adecuada:
Código MySQL:
Ver original+---------+------------+---------+
| r_hora | fecha | hora |
+---------+------------+---------+
| 07:00am | 09-25-2011 | 07:00am |
| 08:00am | | |
| 09:00am | 09-25-2011 | 09:00am |
| 10:00am | | |
| 11:00am | | |
| 12:00pm | 09-25-2011 | 12:00pm |
| 13:00pm | | |
| 14:00pm | | |
| 15:00pm | 09-25-2011 | 15:00pm |
| 16:00pm | 09-25-2011 | 16:00pm |
| 17:00pm | 09-25-2011 | 17:00pm |
| 18:00pm | | |
| 19:00pm | | |
| 20:00pm | | |
+---------+------------+---------+
14 rows
in set (0.00 sec
)