2011-12-19 11 views
5

मेरे पास दो चुनिंदा बयान हैं जो एक विशिष्ट भूमिका के लिए अधिकतम वेतन पाते हैं। अब मैं उन चुनिंदा बयानों के अधिकतम दो रिटर्न प्राप्त करना चाहता हूं। अंत मैं इन दो संख्याओं की अधिकतम चाहते हैं परओरेकल एसक्यूएल - दो चयन बयान से अधिकतम

SELECT MAX(SALARY) 
    FROM TABLE1 
WHERE ROLE = 'MANAGER' 

SELECT MAX(SALARY) 
    FROM TABLE1 
WHERE ROLE = 'DEVELOPER'; 

: निम्न कोड के बारे में सोचो ।

मैं यह सब एक प्रश्न में कैसे करूँगा?

अधिकतम के लिए दो चयन हैं, तो उन अधिकतम तुलनाओं की तुलना करें और अधिकतम अधिकतम अधिकतम प्रदान करें?

उत्तर

9

दोनों चयन एक ही मेज से पढ़ के बाद से, आप यह कर सकते हैं:

SELECT MAX(SALARY) FROM TABLE1 WHERE ROLE = 'MANAGER' OR ROLE = 'DEVELOPER' 
4

आप अधिकतम वेतन और भूमिका इस तरह है कि वेतन होने पता लगा सकते हैं।

SELECT * FROM 
(
    SELECT MAX(SALARY) MAXSALARY, ROLE 
    FROM TABLE1 
    WHERE ROLE IN ('MANAGER','DEVELOPER') 
    GROUP BY ROLE 
    ORDER BY MAX(SALARY) 
) 
WHERE ROWNUM = 1 
10

यदि आप अधिक नौकरी के शीर्षक से अधिकतम चाहते हैं, तो उस नौकरी शीर्षक को "IN" सरणी में जोड़ें। प्रत्येक नौकरी के शीर्षक के लिए एक चयन कथन लिखने की जरूरत नहीं है।

SELECT MAX(SALARY) FROM TABLE1 WHERE ROLE IN ('MANAGER','DEVELOPER') 
3

इसे केवल एक चुनिंदा कथन के साथ हल किया जा सकता है जो भूमिका पर भिन्न होता है।

SELECT MAX(SALARY) FROM TABLE1 WHERE ROLE = 'MANAGER' OR ROLE = 'DEVELOPER' 

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

  • कोई संबंधित समस्या नहीं^_^