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

Oracle10g SQL पिवट

मैं CASE अभिव्यक्ति के साथ GROUP BY समाधान का उपयोग करना पसंद करता हूं।

SELECT 
    id,
    MAX(CASE WHEN emailRank = 1 THEN email END) AS [1],
    MAX(CASE WHEN emailRank = 2 THEN email END) AS [2],
    MAX(CASE WHEN emailRank = 3 THEN email END) AS [3],
    MAX(CASE WHEN emailRank = 4 THEN email END) AS [4]
FROM (
    SELECT
        id, 
        email, 
        ROW_NUMBER() OVER (PARTITION BY id ORDER BY email) AS emailRank
    FROM TABLE
)
GROUP BY id;

मूल पिवट उदाहरण में टाइप और गायब ")" था। पिवट काम करने के लिए निम्नलिखित प्रयास करें:

pivot( max(email) FOR emailRank IN (1,2,3));


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. लूप रिवर्स उदाहरण के लिए Oracle

  2. Oracle .Net ManagedDataAccess त्रुटि:असेंबली से 'OracleInternal.Common.ConfigBaseClass' प्रकार लोड नहीं कर सका

  3. आप SQL 2000/2005 पर Oracle डेटाबेस से लिंक किए गए सर्वर को कैसे सेटअप करते हैं?

  4. ओरेकल सिड और डेटाबेस नाम की जाँच करना

  5. ओरेकल एसक्यूएल प्लस एसक्यूएल फाइल में कमांड कैसे खत्म करें?