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

एसक्यूएल - एकाधिक तालिकाओं से दृश्य बनाएं

संघ वह नहीं है जो आप चाहते हैं। आप एकल पंक्तियों को बनाने के लिए जॉइन का उपयोग करना चाहते हैं। यह थोड़ा अस्पष्ट है कि आपकी तालिकाओं में एक अद्वितीय पंक्ति क्या है और वे वास्तव में एक-दूसरे से कैसे संबंधित हैं और यह भी स्पष्ट नहीं है कि प्रत्येक वर्ष में प्रत्येक देश के लिए एक तालिका में पंक्तियाँ होंगी या नहीं। लेकिन मुझे लगता है कि यह काम करेगा:

CREATE VIEW V AS (

  SELECT i.country,i.year,p.pop,f.food,i.income FROM
    INCOME i
  LEFT JOIN 
    POP p 
  ON
    i.country=p.country
  LEFT JOIN
    Food f
  ON 
    i.country=f.country
  WHERE 
    i.year=p.year
  AND
    i.year=f.year
);

बाएँ (बाहरी) जुड़ाव पहली तालिका से पंक्तियाँ लौटाएगा, भले ही दूसरे में कोई मिलान न हो। मैंने इसे यह मानकर लिखा है कि आय तालिका में हर साल हर देश के लिए आपके पास एक पंक्ति होगी। यदि आपको चीजें थोड़ी बालों वाली नहीं होती हैं क्योंकि MySQL ने FULL OUTER JOINs के लिए समर्थन में नहीं बनाया है, पिछली बार मैंने जाँच की थी। इसे अनुकरण करने के तरीके हैं, और वे संघों को शामिल करेंगे। यह लेख इस विषय पर कुछ गहराई में जाता है:http://www.xaprb.com/blog/2006/05/26/how-to-write-full-outer-join-in-mysql/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Generate_series का उपयोग करके PostgreSQL में गुम तिथियों को कैसे भरें

  2. पोस्टग्रेज़ कैश/बफ़र्स देखें और साफ़ करें?

  3. Postgres क्यों कहता है कि कॉलम मौजूद नहीं है?

  4. PostgreSQL:सिक्स नॉट-सो-ईज़ी पीस

  5. PostgreSQL में संचयी योग की गणना