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

PostgreSQL में कॉलम के रूप में पंक्ति मानों का उपयोग करें

एक crosstab() आपके उदाहरण के लिए क्वेरी कुछ इस तरह दिखेगी:

0 भरने के लिए परिणामी NULL . के लिए मान (टिप्पणी में अनुरोध), उपयोग करें COALESCE() :

SELECT brand_id
     , COALESCE(jan, 0) AS "Jan-2012"
     , COALESCE(feb, 0) AS "Feb-2012"
     , COALESCE(mar, 0) AS "Mar-2012"
     , COALESCE(apr, 0) AS "Apr-2012"
FROM crosstab(
       'SELECT brand_id, month, total
        FROM   brands
        ORDER  BY 1'

       ,$$VALUES ('Jan-2012'::text), ('Feb-2012'), ('Mar-2012'), ('Apr-2012')$$
 ) AS ct (
   brand_id int
 , jan numeric    -- use actual data type!
 , feb numeric
 , mar numeric
 , apr numeric);

इस संबंधित उत्तर में विस्तृत विवरण और लिंक:
PostgreSQL Crosstab प्रश्न

इसके अलावा:आरक्षित शब्द "तारीख" का उपयोग कॉलम नाम के रूप में नहीं करना चाहिए और आपको या तो नहीं करना चाहिए, भले ही पोस्टग्रेस इसे अनुमति देता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql में JSONB सरणी में मान कैसे जोड़ें?

  2. PostgreSQL स्कीमा में तालिकाएँ सूचीबद्ध करें

  3. नियंत्रक को नष्ट करने का प्रयास करते समय मुझे एक पीजी त्रुटि मिलती है

  4. PostgreSQL फ़ंक्शन से SETOF पंक्तियाँ लौटाएँ

  5. सीरियल का शुरुआती मान बदलें - Postgresql