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

एकाधिक दिनांक कॉलम के साथ mysql में unpivot पर सहायता चाहिए

मैंने MySQL 8.0.1 पर निम्नलिखित का परीक्षण किया:

SELECT GROUP_CONCAT(
  CONCAT(
    'SELECT `Product Type`, ', 
       QUOTE(COLUMN_NAME), ' AS `Date`, ',
       '`', COLUMN_NAME, '` AS `Revenue` ',
    'FROM testing_unpivot'
  ) SEPARATOR ' UNION ALL '
)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'testing_unpivot'
AND COLUMN_NAME <> 'Product Type';

QUOTE() फ़ंक्शन का उपयोग करना इसे सरल बनाता है, क्योंकि यह ट्रिपल बनाम क्वाड कोट्स का पता लगाने की आवश्यकता को समाप्त करता है।

आउटपुट:

SELECT `Product Type`, '01-31-2016' AS `Date`, `01-31-2016` AS `Revenue` FROM testing_unpivot 
UNION ALL 
SELECT `Product Type`, '02-29-2016' AS `Date`, `02-29-2016` AS `Revenue` FROM testing_unpivot 
UNION ALL 
SELECT `Product Type`, '12-31-2015' AS `Date`, `12-31-2015` AS `Revenue` FROM testing_unpivot

फिर मैंने उस क्वेरी को चलाने के लिए कॉपी और पेस्ट किया और यह आउटपुट मिला:

+--------------+------------+---------+
| Product Type | Date       | Revenue |
+--------------+------------+---------+
| A            | 01-31-2016 |  400.00 |
| B            | 01-31-2016 |   86.88 |
| C            | 01-31-2016 |  400.00 |
| D            | 01-31-2016 |   55.00 |
| E            | 01-31-2016 |  455.00 |
| A            | 02-29-2016 |   55.00 |
| B            | 02-29-2016 |   55.00 |
| C            | 02-29-2016 |   55.00 |
| D            | 02-29-2016 |   11.00 |
| E            | 02-29-2016 |   22.00 |
| A            | 12-31-2015 |  100.00 |
| B            | 12-31-2015 |    0.00 |
| C            | 12-31-2015 |  200.00 |
| D            | 12-31-2015 |  300.00 |
| E            | 12-31-2015 |  400.00 |
+--------------+------------+---------+

मैंने अभी-अभी अपना परीक्षण डेटा आपकी पहली तीन तारीखों के डेटा के साथ लोड किया है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql में त्रुटि 1130

  2. MySQL इंजेक्शन - अद्यतन/हटाने के लिए चयन क्वेरी का उपयोग करें

  3. रेक निरस्त! अप्रारंभीकृत स्थिर Mysql2

  4. टूटे हुए UTF-8 एन्कोडिंग को ठीक करना

  5. सशर्त ट्रिगर के लिए Django माइग्रेशन sql