2012-01-06 16 views
20

ओरेकल के definition of the PIVOT clause के साथ ओरेकल PIVOT खंड का उदाहरण निर्दिष्ट करता है कि IN खंड में एक सबक्वायरी को परिभाषित करने की संभावना है। क्या मैं इस होने की कल्पना कर सकते हैं की एक काल्पनिक उदाहरण इसsubquery

... PIVOT (AVG(salary) FOR (company) IN (SELECT DISTINCT company FROM companies)) 
इसी के साथ

हालांकि, मैं एक ORA-00936: Missing expression त्रुटि मिलती है। दुर्भाग्यवश, इस नए PIVOT खंड से त्रुटियां आमतौर पर गूढ़ होती हैं। क्या कोई मुझे PIVOT क्लॉज के IN खंड में एक सबक्वायरी का उपयोग करने का एक अच्छा उदाहरण दे सकता है?

+1

खोज के लिए धन्यवाद करेंगे। मैंने उस दस्तावेज के आधे हिस्से को पढ़ने से बहुत पहले छोड़ दिया था। – tumchaaditya

उत्तर

20

जाहिर है, मैं भी दस्तावेज के अंत करने के लिए पढ़ने के लिए आलसी था ... इसके अलावा नीचे, प्रलेखन राज्यों:

सबक्वेरी एक सबक्वेरी केवल एक्सएमएल कीवर्ड के साथ संयोजन के रूप में प्रयोग किया जाता है। जब आप सबक्वायरी निर्दिष्ट करते हैं, तो सबक्वायरी द्वारा पाए गए सभी मान पिवोटिंग के लिए उपयोग किए जाते हैं। [...]

यह काम

PIVOT XML (AVG(salary) FOR (company) IN (SELECT DISTINCT company FROM companies)) 

पूर्ण प्रलेखन देखें

http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_10002.htm#CHDFAFIE

+3

इसलिए मैंने देखा कि यह एक्सएमएल प्रारूप में आउटपुट लौटाता है। सादा PIVOT के रूप में सामान्य आउटपुट (टेबल) कैसे प्राप्त करें कोई विचार होगा? – tumchaaditya

+0

@tumchaaditya: मुझे यकीन नहीं है कि यह संभव है। लेकिन यह सुनिश्चित करने के लिए, एक नया स्टैक ओवरफ़्लो प्रश्न पूछने के लिए स्वतंत्र महसूस करें। और यहां से लिंक करें, मैं उत्सुक हूं, खुद ... –

+1

मैंने पिन के साथ एसक्यूएल के बाहर उस सबक्वायरी गतिशीलता के परिणामों का निर्माण समाप्त कर दिया। मेरा मतलब है कि मैं subquery अलग से चलाता हूं और पाइप जो मुख्य क्वेरी में आउटपुट करता है – tumchaaditya