oracle10g - Retrieving a row number of a specific row from a group of rows in a table in Oracle 10g -
मेरे पास ओरेकल 10 जी में कहां निम्न तालिका इस तालिका में सभी पंक्तियों के आधार पर दिए गए यह पंक्ति 3, में यह मामला। लेकिन पंक्तियों के एक समूह से पंक्ति संख्या को पुनः प्राप्त करने की आवश्यकता है जो केवल किसी विशिष्ट उपयोगकर्ता के साथ जुड़ा हुआ है। ऐसा होने के लिए, यदि मैं निम्न एसक्यूएल, इस स्थिति में, मैंने से यह निम्न त्रुटि देता है। तो, केवल उन पंक्तियों से एक पंक्ति संख्या लाने का तरीका क्या है जो एक विशिष्ट उपयोगकर्ता से संबद्ध हैं , इस परिदृश्य में? सिर्फ user_id को आंतरिक क्वेरी में जोड़ें मुझे लगता है कि यदि आप पंक्ति कोड को प्रति USER_ROLES नामक सारणी है।
USER_ROLE_ID USER_ID AUTHORITY 28 2 ROLE_ADMIN 45 3 ROLE_USER 61 3 ROLE_ASSISTANT 27 3 ROLE_SUPERVISOR
USER_ID तालिका का एक विदेशी कुंजी
USER_TABLE < / code>। मुझे विशिष्ट उपयोगकर्ता (
USER_ID ) से जुड़े पंक्तियों के समूह से एक विशिष्ट पंक्ति की पंक्ति संख्या जानना होगा (और इस तालिका में सभी पंक्तियों के आधार पर नहीं)।
USER_ROLE_ID (28 इस मामले में) के लिए पंक्ति संख्या प्राप्त करती है।
row_num से चुनें (user_role_id desc के अनुसार user_role का आदेश user_role_id desc के रूप में) user_role_id = 28
को चुनें, पंक्ति_एनयूएम को चुनें (row_number () के ऊपर (user_role_id descending द्वारा क्रम) पंक्ति के रूप में पंक्ति_num, user_role_id से user_role का आदेश user_role_id desc) चुनें User_id = 2 और user_role_id = 28
WHERE खंड
को संशोधित किया है जहां user_role_id = 28
जहां user_id = 2 और user_role_id = 28
ORA-00904: "USER_ID": अमान्य पहचानकर्ता
user_id के अनुसार चाहते हैं तो विश्लेषणात्मक विभाजन करना चाहते हैं: (
से row_num चुनें (चुनें row_number () ) पर (user_role_id द्वारा उपयोगकर्ता_आईडी आदेश द्वारा विभाजन) row_num के रूप में, user_role_id, user_id से user_roles) जहां user_role_id = 28 और user_id = 2;
Comments
Post a Comment