हम्म्म्म। . . यदि आप मनमाना . चाहते हैं तो आप पार्श्व जुड़ाव का उपयोग कर सकते हैं यादृच्छिक . के बजाय पता पता:
select t1.*, t2.*
from table1 t1 left join lateral
(select t2.*
from table2 t2
where t2.company_number = t1.company_number and rownum = 1
) t2
on 1=1;
यदि आप वास्तव में एक यादृच्छिक पता चाहते हैं जो प्रति कंपनी संख्या के समान हो, तो आप इसका उपयोग कर सकते हैं:
select t1.*, t2.*
from table1 t1 left join lateral
(select t2.*,
row_number() over (partition by company_number order by dbms_random.random) as seqnum
from table2 t2
) t2
on t2.company_number = t1.company_number and
seqnum = 1;
यहां एक db<>बेला है जो यह दर्शाता है कि सिंटैक्स काम करता है।