आप एक सबक्वेरी का उपयोग कर सकते हैं जो max(process_date)
. प्राप्त करता है :
select c1.b_id,
c2.MaxDate
from table_a a
inner join table_b b
on a.a_id = b.a_id
inner join table_c c1
on b.b_id = c1.b_id
inner join
(
select max(process_date) MaxDate
from table_c
) c2
on c1.process_date = c2.maxdate;
देखें SQL Fiddle with Demo
या आप row_number()
. का उपयोग कर सकते हैं :
select b_id, process_date
from
(
select c1.b_id,
c1.process_date,
row_number() over(partition by a.a_id order by c1.process_date desc) rn
from table_a a
inner join table_b b
on a.a_id = b.a_id
inner join table_c c1
on b.b_id = c1.b_id
)
where rn = 1
देखें SQL Fiddle with Demo