फेंकना चाहिए मैंने क्रमशः एक कॉलम प्रत्येक, एबीसी और xyz के साथ दो टेबल, टी 1 और टी 2 बनाए हैं। मैंने प्रत्येक तालिका में 2 पंक्तियां (संख्यात्मक मान 1 और 2) डाली हैं।हटाएं कथन - उप क्वेरी को त्रुटि
जब मैं "select abc from t2"
कमांड चलाता हूं, तो यह एक त्रुटि फेंकता है कि कॉलम एबीसी तालिका टी 2 में मौजूद नहीं है। हालांकि, जब मैं "delete from t1 where abc in (SELECT abc from t2);"
कमांड चलाता हूं, तो 2 पंक्तियां हटा दी जाती हैं।
क्या हटाना विफल नहीं होना चाहिए क्योंकि मैंने उप-क्वेरी में विफल वही कथन का उपयोग किया है?
तालिका टी 1 (एबीसी संख्या) बनाएं; --टेबल बनाया गया
तालिका टी 2 (xyz संख्या) बनाएं; --टेबल बनाया गया
टी 1 मानों (1) में डालें; - एक पंक्ति डाली गई
टी 1 मानों (2) में डालें; - एक पंक्ति डाली गई
टी 2 मानों (1) में डालें; - एक पंक्ति डाली गई
टी 2 मानों (2) में डालें; - एक पंक्ति डाली गई
टी 2 से एबीसी चुनें; --ORA-00904 -> क्योंकि कॉलम एबीसी टी 2
टी 1 से हटाता है जहां एबीसी (टी 2 से चयन एबीसी) में मौजूद नहीं है; -2 पंक्तियों को हटा दिया
मुझे लगता है कि ऐसा इसलिए है क्योंकि 'DELETE' कथन में' abc' का अर्थ 't1' – luiges90
में' abc' का अर्थ है आपकी अंतिम क्वेरी में चयन करने का प्रयास करने के लिए कि कौन सी पंक्तियां वापस आती हैं, फिर आप आपके पास एक बेहतर विचार होगा कि एबीसी मूल्य वापस लौटाए जा रहे हैं –
आपके उत्तरों के लिए धन्यवाद। जब मैं उपनाम का उपयोग करता हूं "टी 1 से हटाएं जहां एबीसी (टी 2 से टी 2.एबीसी चुनें), तो यह एक त्रुटि फेंकता है। लेकिन क्या इसे बिना किसी त्रुटि के फेंकना चाहिए क्योंकि मैंने" टी 2 से एबीसी का चयन किया है "? – Orangecrush