我們如何使用以下約束來構建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