Вот мой запрос для SQLite3 DB
SELECT tddate,
CASE tdtype
WHEN 'LOGIN' THEN MIN(tdtime)
WHEN 'SHUTDOWN' THEN MAX(tdtime)
ELSE NULL
END AS tdtime, tdtype, tdusername
FROM TimeData
WHERE tdusername LIKE 'joe.shmoe'
AND tddivision = 'divisionA'
AND tddate > '6/1/2011'
AND tddate < '7/5/2011'
GROUP BY tddate, tdtype, tdusername
ORDER BY tddate, tdtime DESC
Результаты - это даты с 30.06.2011 по 11.11.2011.
Я попробовал другой запрос (гораздо проще изолировать проблему). Я получаю те же результаты.
SELECT *
FROM TimeData
WHERE tddate > '6/1/2011'
AND tddate < '7/5/2011'
ORDER BY tddate DESC
Вот DDL для таблицы
CREATE TABLE [TimeData] (
[tdtag] CHAR(8),
[tdusername] CHAR(50),
[tddivision] CHAR(50),
[tddate] CHAR(10),
[tdtime] CHAR(8),
[tdipaddress] CHAR(14),
[tdtype] CHAR(8));