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

खंड से अद्यतन में ग्रुप बाय

अद्यतन विवरण GROUP BY का समर्थन नहीं करता है, दस्तावेज़ देखें। यदि आप t2 से संबंधित पंक्ति के साथ t1 को अपडेट करने का प्रयास कर रहे हैं, तो आप WHERE क्लॉज का उपयोग कुछ इस तरह करना चाहेंगे:

UPDATE table t1 SET column1=t2.column1
FROM   table t2
JOIN   table t3 USING (column2)
WHERE  t1.column2=t2.column2;

यदि आपको t1 को निर्दिष्ट करने से पहले t2/t3 से पंक्तियों को समूहित करने की आवश्यकता है, तो आपको कुछ इस तरह की सबक्वेरी का उपयोग करने की आवश्यकता होगी:

UPDATE table t1 SET column1=sq.column1
FROM  (
   SELECT t2.column1, column2
   FROM   table t2
   JOIN   table t3 USING (column2)
   GROUP  BY column2
   ) AS sq
WHERE  t1.column2=sq.column2;

हालांकि जैसा कि तैयार किया गया है वह काम नहीं करेगा क्योंकि t2.column1 को ग्रुप बाय स्टेटमेंट में शामिल नहीं किया गया है (इसे एक साधारण कॉलम संदर्भ के बजाय एक समग्र कार्य होना चाहिए)।

अन्यथा, आप वास्तव में यहाँ क्या करने की कोशिश कर रहे हैं?




  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 में to_number () फ़ंक्शन कैसे काम करता है

  2. PostgreSQL जहां सभी सरणी में

  3. PostgreSQL डेटाबेस में सभी संग्रहीत प्रक्रियाओं को सूचीबद्ध करने के 3 तरीके

  4. PostgreSQL में टाइमज़ोन () फ़ंक्शन कैसे काम करता है

  5. रेल 4 क्वेरी की तरह - ActiveRecord उद्धरण जोड़ता है