我試圖從表中返回7個事件,從今天的日期,並將它們按日期順序排列:順序由甲骨文子查詢不工作
SELECT ID
FROM table
where ID in (select ID from table
where DATEFIELD >= trunc(sysdate)
order by DATEFIELD ASC)
and rownum <= 7
如果我「借命令」刪除它返回該ID很好,查詢工作,但它沒有在正確的順序。將不勝感激任何幫助,因爲我似乎無法弄清楚我做錯了什麼!
(編輯)澄清,我之前用這個,和順序返回真的了:
select ID
from TABLE
where DATEFIELD >= trunc(sysdate)
and rownum <= 7
order by DATEFIELD
感謝
您的子選擇缺少條件(沒有'WHERE'而是'和')。你請糾正語法錯誤?對於用於「IN」運算符的子選擇使用ORDER BY是有意義的。 IN的項目順序是未定義的,不會被保留 – 2012-08-09 11:20:38
謝謝,我在發佈之後立即修復了它們(我在發佈之前大量簡化了SQL) - 我只使用了一個聲明,因爲我之前一個沒有工作,我也會發佈一個。 – Nick 2012-08-09 11:24:58
你有結束,而不是右側子查詢 – 2012-08-09 11:25:46