Sadece giriş tarihinin beg_date ile end_date arasında olduğu satırı seçmek istiyorum, ancak bunun doğru olabileceği birden çok satır olduğu için, varsa en fazla son_tarihi seçmek istiyorum birden çok satır. Aşağıdaki bilgilerle ilk satırın sadece tarihin 2. satırın beg_date ve end_date arasında olmasına rağmen seçilebilmesini istiyorum.Benzersiz değerleri bulmak için nvl ve max öğelerini kullanma
Ayrıca max işlevini kullandığımda, null değerini seçebilirim ve end_date boş olduğunda grp_id döndürülmez. Muhtemelen bir yerde nvl işlevini kullanacağım, ama emin değilim.
Customer_Nbr: 20080909
Tarihi:
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
25-Haziran-95 Şimdiye kadar bu boş olmayan bir end_date değeri elde etmek çalışır. u analitik işlevi üzerinde kullanırsanız
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'));