我想只選擇輸入日期在beg_date和end_date之間的行,但由於有多行,這可能是真的,我想選擇最大end_date如果有是多行。有了以下信息,我希望只選擇第一行,即使日期介於第二行的beg_date和end_date之間。使用nvl和max查找唯一值
此外,當我使用功能時,我可以最終選擇空值,並且由於end_date爲空而不返回grp_id。我可能不得不在某處使用功能,但不知道在哪裏。
Customer_Nbr:20080909
日期:25軍95
Customer_Nbr Grp_Id Beg_Date End_Date
12345689 9 21-MAY-95 24-FEB-97
12345689 9 21-MAY-95 24-FEB-96
12345689 9 27-JUN-04 null
到目前爲止,這部作品得到一個非空END_DATE值。
SELECT grp_id
FROM table1
WHERE customer_nbr = '12345689'
AND to_date('06/27/2004','MM/DD/YYYY')
BETWEEN beg_date AND nvl(end_date,to_date('12/31/9999','MM/DD/YYYY'));