जल्द से जल्द रिकॉर्ड प्राप्त करने और एक ही मानदंड को दो बार टाइप करने से बचने के कई तरीके हैं।
FETCH FIRST ROWS का उपयोग करना (Oracle 12c के रूप में उपलब्ध)
select *
from abc_customer_details cd
join abc_customers c on c.id = cd.customer_id
where cd.country_code = 'KE'
order by creation_timestamp
fetch first row only;
CTE (क्लॉज के साथ) का उपयोग करना
with cte as
(
select *
from abc_customer_details cd
join abc_customers c on c.id = cd.customer_id
where cd.country_code = 'KE'
)
select *
from cte
where (creation_timestamp) = (select min(creation_timestamp) from cte);
विंडो फ़ंक्शन का उपयोग करना
select *
from
(
select cd.*, c.*, min(creation_timestamp) over () as min_creation_timestamp
from abc_customer_details cd
join abc_customers c on c.id = cd.customer_id
where cd.country_code = 'KE'
)
where creation_timestamp = min_creation_timestamp;
(वैसे, मैंने इन सभी प्रश्नों में शामिल होने के मानदंड को बदल दिया है। ऐसा लगता है कि आप abc_customer_details.id = abc_customers.customer_id
पर शामिल होना चाहते हैं। ।)