गूंगा प्रश्न समय में शामिल होने वाले खंड को प्रभावित करते हैं। ओरेकल 10 जी।जहां
क्या यह एक धारा के लिए शामिल होने के लिए संभव है?
मैं के रूप में एक प्रश्न मिल गया है:
select * from
(select product, product_name from products p
join product_serial ps on product.id = ps.id
join product_data pd on pd.product_value = to_number(p.product_value)) product_result
where product_name like '%prototype%';
जाहिर है यह एक काल्पनिक उदाहरण है। तालिका संरचना को दिखाने की कोई वास्तविक आवश्यकता नहीं है क्योंकि यह सभी काल्पनिक है। दुर्भाग्यवश, मैं वास्तविक तालिका संरचना या क्वेरी नहीं दिखा सकता। इस मामले में, p.product_value एक VARCHAR2 फ़ील्ड है जिसमें कुछ पंक्तियों में पाठ के बजाय इसके अंदर एक आईडी संग्रहीत होती है। (हाँ, खराब डिज़ाइन - लेकिन कुछ जो मैंने विरासत में लिया है और बदलने में असमर्थ हूं)
समस्या शामिल है। अगर मैं कहां से निकलता हूं, क्वेरी काम करता है और पंक्तियां वापस आती हैं। हालांकि, अगर मैं कहां जोड़ता हूं, तो मुझे pd.product_value = to_number (p.product_value) स्थिति में "अमान्य संख्या" त्रुटि मिलती है।
जाहिर है, पंक्तियों में शामिल होने पर "अमान्य संख्या" त्रुटि तब होती है जिसमें p.product_value फ़ील्ड में गैर-अंक होते हैं। हालांकि, मेरा सवाल यह है कि उन पंक्तियों का चयन कैसे किया जा रहा है? अगर शामिल बाहरी के बिना सफल हो जाता है, तो बाहरी नहीं होना चाहिए जहां क्लॉज सिर्फ शामिल होने के परिणाम से पंक्तियों का चयन करें? ऐसा लगता है कि क्या हो रहा है, जहां एक पंक्ति में शामिल होने के बावजूद, खंड किस पंक्ति में शामिल हो रहा है, इस पर प्रभाव डाल रहा है।
क्या मेरा प्रश्न समझ में आता है?
आप इसे थोड़ा slack 'to_char (pd.product_value) = p.product_value' दे सकते हैं। – briantyler