2017-03-07 131 views
2

我有一個表是這樣的:查詢的計劃日期比較

account number(repeat) | schedule_due_date 
---------------------- | ----------------- 
111     | '01-FEB-2017' 
111     | '01-MAR-2017' 
111     | '01-APR-2017' 

我想要一個SQL查詢,這將給賬號,如果schedule_due_date是第一個或最後。

如果sysdate01-FEB-2017那麼它應該給帳號或sysdate01-APR-2017那麼它應該給帳號。

但是,如果sysdate01-MAR-2017那麼它不應該給帳號。 其實它應該檢查所有帳戶的最短日期和最大日期爲sysdate並給出結果。

+0

這似乎完全明瞭。你在這方面發現了些什麼? – APC

回答

3

試試下面的一個,(用一個GROUP BYHAVING就可以解決這個問題)。

SELECT account_number 
FROM table1 
GROUP BY account_number 
HAVING MAX(schedule_due_date) = sysdate 
    OR MIN(schedule_due_date) = sysdate 
+0

可能要截斷SYSDATE以除去時間元素。 – APC

1

試試這個

SELECT account_number 
FROM table1 
where schedule_due_date = (select max(schedule_due_date) from table1) 
or schedule_due_date = (select min(schedule_due_date) from table1)