我们如何使用以下约束来构建sql查询。有关sql查询的帮助
对于is_queue_empty = 1且queue_name为空的每条记录,通过timestamp获取紧接的下一条记录,其中is_queue_empty = 0且queue_name可以或不能为同一会话标识和请求标识为空。
表具有以下的列:
SESSION_ID,REQUEST_ID,queue_name,is_queue_empty,时间戳,queue_tag,TAB_NAME。
我有dofar是这是不正确的:
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)
to_char?这是Oracle还是MySQL? – RichardTheKiwi 2011-03-21 08:41:26
oracle.You是对的 – TopCoder 2011-03-21 08:43:55
好,我写的好东西和符合ANSI的交叉dbms答案然后 – RichardTheKiwi 2011-03-21 08:54:12