पहले एक्सटेंशन इंस्टॉल करें 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
);
ठीक वही लौटाता है जो आपने मांगा था।
आप उसके लिए एक फ़ंक्शन भी बना सकते हैं। मैंने इसमें और जानकारी जोड़ी है निकट से संबंधित उत्तर
।