У меня есть таблица в формате:
Customer Code Date
Cust1 aa '18-Mar-01'
Cust1 ab '18-Apr-05'
Cust1 ac '18-Feb-20'
Cust1 ba '18-Mar-03'
Cust1 bb '18-Apr-06'
Cust1 bc '18-May-30'
Cust2 aa '18-Jun-08'
Cust2 ab '18-May-15'
Cust2 ac '18-May-07'
Cust2 ba '18-Apr-26'
Cust2 bb '18-Jun-17'
Cust2 bc '18-Mar-29'
Я пытаюсь получить это:
Customer Code1 Date Code2 Date
Cust1 ab '18-Apr-05' bc '18-May-30'
Cust2 aa '18-Jun-08' bb '18-Jun-17'
Я пытаюсь получить максимум кода 'a *' и даты, а 'b *' и даты. Я использовал Макс, но я получаю только дату, а не соответствующий код. Когда я использую рейтинг, я не смог получить второй код. Есть идеи?
Select c1.cust_num,
c1.cust_stat,
p1.cs_code,
p1.cs_est_comp_date,
p1.cs_act_comp_date
(select max(t.Cust_Codes.cs_act_comp_date)
from t.Cust_Codes
where t.cust_code.cs_code in ('AA','A1','A2')) as c1date,
(select max(t.Cust_Codes.cs_act_comp_date)
from t.Cust_Codes
where t.cust_code.cs_code in ('BA','A0','B2')) as c2date,
from t.Cust c1,
t.Cust_Codes p1
Where c1.cust_num = p1.cust_num (+)
and c1.cust_stat = 'O'