2013-07-18 7 views
17

सबसे पहले, यह this प्रश्न का डुप्लिकेट नहीं है। अगर यह है, माफ करना, लेकिन मैं इसे पढ़ने से मेरी समस्या का समाधान नहीं कर सका। जब मैं इस SELECT कथन पर अमल करने की कोशिशत्रुटि ओआरए -00 9 32 यूनियन और सीएलओबी फ़ील्ड के साथ चयन का उपयोग करते समय

ORA-00932: inconsistent datatypes: expected - got CLOB 

:

SELECT TXT.t_txt 
    FROM CITADM.tb_avu_txt_grc GR 
INNER JOIN CITADM.tb_avu_txt TXT 
    ON (GR.e_txt = TXT.e_txt and GR.u_txt = TXT.u_txt) 
WHERE TXT.u_lin_ord = 1 
UNION 
SELECT TXT.t_txt 
    FROM CITADM.tb_avu_txt_grc_cvd GRC 
INNER JOIN CITADM.tb_avu_txt TXT 
    ON (GRC.e_txt = TXT.e_txt and GRC.u_txt = TXT.u_txt) 
WHERE TXT.u_lin_ord = 2 

चयनित क्षेत्र (t_txt) CLOB डेटाप्रकार की है

मैं इस त्रुटि हो रही है। जैसा कि आप देख सकते हैं, यह एक ही तालिका का एक ही स्तंभ है। यह कथन एक बड़े से संबंधित है, मैंने उस हिस्से को अलग कर दिया है जहां मुझे यह समस्या है।

बहुत बहुत धन्यवाद।

+1

'यूनियन' के बजाय 'यूनियन ऑल' आज़माएं। –

उत्तर

29

मुझे विश्वास है कि समस्या का उपयोग UNION ALL के बजाय है। UNION ऑपरेटर दो सेट को जोड़ देगा और डुप्लीकेट को हटा देगा। चूंकि सीएलओबी प्रकारों की तुलना नहीं की जा सकती है, इसलिए डुप्लिकेट उन्मूलन भाग संभव नहीं है।

UNION ALL का उपयोग डुप्लिकेट उन्मूलन करने का प्रयास नहीं करेगा (शायद आपके पास डुप्लिकेट नहीं है) तो इसे काम करना चाहिए।

+0

यह काम किया! धन्यवाद ( – gabsferreira

+0

पुराना प्रश्न और उत्तर लेकिन यह आज मेरे लिए काम किया, धन्यवाद –

0

जैसा कि मैंने डुप्लिकेट किया था, मैं यूनियन ऑल का उपयोग नहीं कर सका। यह समाधान पूरी तरह से काम करता है, धन्यवाद!

बीटीडब्ल्यू: यह इमो एकमात्र सही उत्तर है, क्योंकि यूनियन ऑल और यूनियन अर्थात् अलग हैं। यदि डुप्लिकेट नहीं है, तो यूनियन का उपयोग करके एक अनावश्यक प्रकार ओवरहेड लगाया जाता है।

+0

यह टिप्पणी होना चाहिए। –

संबंधित मुद्दे

 संबंधित मुद्दे