मैं देख सकते हैं, विकल्प की एक जोड़ी. सबसे प्रत्यक्ष अनुवाद के लिए लगता है:
SELECT CASE
WHEN m2.MATERIAL IS NOT NULL THEN 'Found'
ELSE 'Not Found'
END AS IZZIT_THERE
FROM SCHEMA.MATERIAL_TABLE m2
RIGHT OUTER JOIN SCHEMA.MATERIAL_TABLE m1
ON m1.MATERIAL = m2.MATERIAL
WHERE m1.OLD_MATERIAL LIKE '%55AD%'
लेकिन उपयोग की एक RIGHT OUTER JOIN
अपरिचित हो सकता है । करने के लिए स्विच करने के लिए और अधिक परिचित LEFT OUTER JOIN
जरूरत है कि हम करने के लिए रिवर्स की स्थिति में टेबल क्वेरी और बदलने के लिए कैसे इस स्थिति से प्रस्तुत कर रहे हैं:
SELECT CASE
WHEN m1.MATERIAL IS NOT NULL THEN 'Found'
ELSE 'Not Found'
END AS IZZIT_THERE
FROM SCHEMA.MATERIAL_TABLE m1
LEFT OUTER JOIN SCHEMA.MATERIAL_TABLE m2
ON m2.MATERIAL = m1.MATERIAL
WHERE m1.OLD_MATERIAL LIKE '%55AD%'
मैं रखा फर्जी नाम ही तो आप देख सकते हैं कैसे वे चारों ओर ले जाया क्वेरी में. दोनों में प्रश्नों m1
प्राथमिक तालिका, कि है, यह एक है कि होना चाहिए डेटा प्रदान करते हैं, जबकि m2
है माध्यमिक या "वैकल्पिक" टेबल - यह हो सकता है या नहीं हो सकता है, जो डेटा से मेल खाता है, प्राथमिक है ।
निजी तौर पर, मैं पसंद करते हैं मिलती है पर की जाने वाली सबक्वेरी के रूप में मैं उन्हें खोजने के लिए आसान समझते हैं, लेकिन YMMV.