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

Oracle SQL - पंक्तियों को गतिशील रूप से स्तंभों में परिवर्तित करना

मुझे पता है कि आप MSSQL का उपयोग नहीं कर रहे हैं, हालाँकि यह अवधारणा आपकी मदद कर सकती है।

मुझे यकीन नहीं है लेकिन STRING_AGG . के स्थान पर आपको LISTAGG . की आवश्यकता हो सकती है . मैं यहाँ केवल अवधारणा को बताने की कोशिश कर रहा हूँ।

CREATE PROCEDURE PivotMyTable
AS

BEGIN
  DECLARE @cols NVARCHAR(MAX) = '';
  DECLARE @sql NVARCHAR(MAX) = 'select * from (select competency_id from competency_tab t) pivot (count(competency_id) for competency_id in (##COLUMS##))'

  WITH T
  AS
  (SELECT DISTINCT
      competency_id
    FROM competency_tab)
  SELECT
    @cols = STRING_AGG(QUOTENAME(T.competency_id, ''''), ',')
  FROM T

  SET @sql = REPLACE(@sql, '##COLUMNS##', @cols);

  EXEC @sql;

END



  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. ORA-28040:कोई मिलान प्रमाणीकरण प्रोटोकॉल नहीं

  3. Oracle:दो तारीखों के बीच के दिन और कार्यदिवसों को छोड़ दें कि ऋणात्मक संख्याओं को कैसे संभालें

  4. Oracle SQL:तालिका से डेटा और विभाजन नाम का चयन करना और विभाजन को छोटा करना

  5. सी # त्रुटि ओआरए 00907:सही कोष्ठक गुम है