Вопрос

I am working on my sql query where I order by time and date but unsure why it's not ordering correct. Its showing date 29 before 30.:

SELECT measurements.title as Tittel, routines.value as Verdi, CONVERT(VARCHAR(10),routines.date,103) as Dato, convert(VARCHAR(10), routines.time, 108) as Tid, pools.name as Basseng, emps.user_name as Ansatt
FROM routines, measure_routine, measurements, pools, emps
WHERE routines.id = measure_routine.routine_id
AND measure_routine.measure_id = measurements.id
AND (measurements.title  Like 'T_%') AND measure_routine.pool_id=pools.id AND routines.emp_id=emps.id 
AND Date between '2014-04-29' and '2014-04-30'
order BY routines.date, routines.time
Это было полезно?

Решение

That's because it's sorting ascending. If you want 29 after 30, then you need descending.

SELECT measurements.title as Tittel, routines.value as Verdi, CONVERT(VARCHAR(10),routines.date,103) as Dato, convert(VARCHAR(10), routines.time, 108) as Tid, pools.name as Basseng, emps.user_name as Ansatt
FROM routines, measure_routine, measurements, pools, emps
WHERE routines.id = measure_routine.routine_id
AND measure_routine.measure_id = measurements.id
AND (measurements.title  Like 'T_%') AND measure_routine.pool_id=pools.id AND routines.emp_id=emps.id 
AND Date between '2014-04-29' and '2014-04-30'
order BY routines.date desc, routines.time desc
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top