मैं दो प्रश्न करता हूं और अजीब परिणाम प्राप्त करता हूं। मैं जानना चाहता हूं कि यह क्यों हो रहा है।
अब प्रश्नों:विरोधाभासी ओरेकल क्वेरी परिणाम
SELECT * FROM TABLE_A a, TABLE_B b, TABLE_C c
WHERE a.a = b.a (+)
AND b.c = c.c
AND a.a = 123;
परिणाम खाली है।
SELECT COUNT(*) FROM TABLE_A a, TABLE_B b, TABLE_C c
WHERE a.a = b.a (+)
AND b.c = c.c
AND a.a = 123;
परिणाम है 1.
यह वास्तव में अलग दिए गए मान के साथ एक ही क्वेरी है।
तालिका ए में 'ए' फ़ील्ड = 123 के साथ पंक्ति है।
तालिका बी में पंक्तियों को a.a = b.a. के रूप में शामिल नहीं किया गया है।
एक ही प्रश्न के लिए कुछ भी या 1 वापस नहीं किया जा सकता है?
अद्यतन:
जब मैं इसे इस तरह
SELECT COUNT(*) FROM TABLE_A a, TABLE_B b, TABLE_C c
WHERE a.a = b.a (+)
AND b.c = c.c (+)
AND a.a = 123;
यह ठीक काम करता है।
ANSI-92 वाक्यविन्यास ('बाएं जॉइन', आदि का उपयोग करके अपनी क्वेरी को दोबारा सुधारें, और फिर इसे आज़माएं। यह 20 साल का है, मुझे लगता है कि इसमें सोने का समय है! – MatBailie
'TABLE_C' के बारे में क्या? इसमें क्या है? – gdoron
@Dems। अरे, मेरी इच्छा है कि मैं कभी-कभी एक से अधिक बार +1 कर सकता हूं ... –