Как мы можем построить sql-запрос со следующим ограничением.
Для каждой записи, где is_queue_empty = 1 и имя-очереди пусто, получить немедленную следующую запись по отметке времени, где is_queue_empty = 0 и имя-очереди может или не может быть пустым для того же сеанса-id и request-id.
В таблице есть следующие столбцы:
session_id, request_id, queue_name, is_queue_empty, отметка времени, queue_tag, tab_name.
То, что я имею далеко, это то, что неверно:
SELECT x.tab_name,
x.is_queue_empty,
x.SESSION_ID,
x.request_ID,
x.TO_CHAR(DATETIME, 'YYYY/MM/DD HH24:MI:SS') timestamp,
y.tab_name,y.queue_name,y.is_queue_empty
FROM queue_data AS x
WHERE
timesttamp < TO_DATE('2011/02/30')
AND timestamp >= TO_DATE('2011/01/01')
AND is_queue_empty=1
AND timestamp < (select TO_CHAR(timestamp, 'YYYY/MM/DD HH24:MI:SS') as timestamp from queue_data as Y where x.session_id = y.session_id and x.request_id=y.request_id and y.is_queue_empty=0 order by y.timestamp asc limit 1 )