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

पंक्तियों को एक कॉलम में संक्षिप्त करें

पहले एक्सटेंशन इंस्टॉल करें tablefunc , यदि आपने पहले से नहीं किया है। प्रति डेटाबेस एक बार करने की आवश्यकता है।

CREATE EXTENSION tablefunc;

आपको PostgreSQL की आवश्यकता है 9.1 CREATE EXTENSION के लिए . पुराने संस्करणों में आपको शेल से इंस्टाल स्क्रिप्ट को एक कमांड के साथ चलाना होता है जैसे:

psql -d dbname -f SHAREDIR/contrib/tablefunc.sql

9.0 को बढ़िया मैनुअल में पोस्ट करें के लिए अधिक जानकारी ।

फिर आप इस तरह की क्वेरी का उपयोग कर सकते हैं:

SELECT *
FROM   crosstab (
    'SELECT id
           ,label
           ,value
     FROM   t
     ORDER  BY 1, 2',

    'SELECT DISTINCT label
     FROM   t
     ORDER  BY 1')
AS tbl (
 id   int
,lab1 text
,lab2 text
,lab3 text
,lab4 text
,lab5 text
,lab6 text
);

ठीक वही लौटाता है जो आपने मांगा था।
आप उसके लिए एक फ़ंक्शन भी बना सकते हैं। मैंने इसमें और जानकारी जोड़ी है निकट से संबंधित उत्तर



  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. डुप्लिकेट रिकॉर्ड लौटाएं (activerecord, postgres)

  3. Knex/Postgresql क्वेरी से सादा मान कैसे वापस करें?

  4. क्या db.Exec(...) द्वारा दी गई त्रुटि का कोई कोड है?

  5. Postgres में jsonb सरणी तत्वों से कैसे जुड़ें?