Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

कर्मचारियों के नामों को उनके शहर के कॉलम के अनुसार व्यवस्थित करने की आवश्यकता है

दुर्भाग्य से आप जो करने की कोशिश कर रहे हैं वह संभव नहीं है, कम से कम "सीधे" एसक्यूएल में नहीं - आपको गतिशील एसक्यूएल, या दो-चरणीय प्रक्रिया की आवश्यकता होगी (पहले चरण में एक स्ट्रिंग उत्पन्न करना जो एक नया एसक्यूएल कथन है)। जटिल।

समस्या यह है कि आप शहर के नामों की एक निश्चित सूची (स्ट्रिंग अक्षर के रूप में) शामिल नहीं कर रहे हैं। आप जो कुछ भी प्राप्त करते हैं (कर्मचारियों से शहर का चयन करें) के आधार पर आप कॉलम बनाने की कोशिश कर रहे हैं। इस प्रकार स्तंभों की संख्या और स्तंभों के नाम का पता तब तक नहीं चलता जब तक कि Oracle इंजन तालिका से डेटा को नहीं पढ़ता है, लेकिन इंजन शुरू होने से पहले उसे पहले से ही पता होना चाहिए कि सभी कॉलम क्या होंगे। विरोधाभास।

यह भी ध्यान दें कि यदि यह संभव होता, तो आप लगभग निश्चित रूप से चाहते (चुनें विशिष्ट कर्मचारियों से शहर)।

जोड़ा गया:ओपी एक टिप्पणी में एक अनुवर्ती प्रश्न पूछता है (नीचे देखें)।

शहरों के लिए आदर्श व्यवस्था यह है कि वे अपनी, छोटी तालिका में हों, और कर्मचारियों की तालिका में "शहर" में एक विदेशी कुंजी बाधा हो ताकि "शहर" चीज़ प्रबंधनीय हो। आप नहीं चाहते कि एक एचआर क्लर्क न्यूयॉर्क में प्रवेश करे, दूसरा न्यूयॉर्क शहर में प्रवेश करे और तीसरा उसी शहर के लिए एनवाईसी में प्रवेश करे। किसी भी तरह से, पहले शहरों के लिए स्ट्रिंग अक्षर की अल्पविराम से अलग सूची के साथ पिवट क्लॉज में ऑपरेटर IN का अनुसरण करने वाली सबक्वायरी को बदलकर अपना कोड आज़माएं:... IN ('DFW', 'CH', 'एनवाई')। ध्यान दें कि जिस क्रम में आप उन्हें इस सूची में रखेंगे, वह आउटपुट में कॉलम का क्रम होगा। मैंने यह देखने के लिए पूरी क्वेरी की जांच नहीं की कि क्या कोई अन्य समस्या है; इसे आज़माएं और हमें बताएं कि क्या होता है।

शुभकामनाएँ!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. राय मांगना :सभी तालिकाओं के लिए एक क्रम

  2. oracle -- oracle तालिका में एकाधिक अल्पविराम से अलग किए गए मानों को एकाधिक पंक्तियों में विभाजित करें

  3. Oracle में सबस्ट्र या LIKE तेज है?

  4. मुझे क्या और कब setFetchSize () निर्दिष्ट करना चाहिए?

  5. मैं हाइबरनेट अपवाद के कारण को कैसे ठीक करूं IllegalArgumentException सेटर को कॉल करते समय हुआ?