ये आवश्यकताएं काफी भ्रमित कर रही हैं, यह आपके डेटा मॉडल के पुनर्मूल्यांकन के लायक हो सकता है। मुझे लगता है कि UNION
समाधान आपकी सबसे अच्छी शर्त है जिसे संभवतः UNION ALL
use का उपयोग करने के लिए संशोधित किया गया है दक्षता के लिए।
मैंने एक म्यूटेक्स आधारित हैक को एक साथ रखा है जिसमें इस पृष्ठ पर अन्य प्रश्नों की तरह ही कई सूक्ष्म समस्याएं हैं।
select
coalesce(t2.id, t1.name) AS ID,
coalesce(t2.company, t1.name) AS Company,
if(isnull(t2.id), 'NOT FOUND', 'FOUND') as Status
from (select 0 as mutex union select 1) as m
left join table1 as t1 on 1 = 1
left join table2 as t2 on t1.name = t2.name or (t1.id = t2.id and mutex)
group by coalesce(t2.id, t1.name)
उस ने कहा, कृपया इन प्रश्नों का सावधानीपूर्वक परीक्षण करें और अपने डेटा और परिणामों को देखें। आपके इनपुट डेटा के आधार पर त्रुटि की पूरी गुंजाइश है।