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

दो तालिकाओं को एक नई तालिका में संयोजित करें ताकि दूसरी तालिका से चयनित पंक्तियों को अनदेखा किया जा सके

UNION आप जो वर्णन करते हैं वह बस नहीं करता है। यह क्वेरी होनी चाहिए:

CREATE TABLE AS 
SELECT date, location_code, product_code, quantity
FROM   transactions_kitchen k

UNION  ALL
SELECT h.date, h.location_code, h.product_code, h.quantity
FROM   transactions_admin h
LEFT   JOIN transactions_kitchen k USING (location_code, date)
WHERE  k.location_code IS NULL;

LEFT JOIN / IS NULL उसी स्थान और दिनांक के लिए दूसरी तालिका से पंक्तियों को बाहर करने के लिए। देखें:

  • उन पंक्तियों का चयन करें जो अन्य तालिका में मौजूद नहीं हैं

CREATE TABLE AS . का उपयोग करें इसके बजाय SELECT INTO . मैनुअल:

<ब्लॉकक्वॉट>

CREATE TABLE AS कार्यात्मक रूप से SELECT INTO . के समान है . CREATE TABLE AS अनुशंसित सिंटैक्स है, क्योंकि SELECT INTO . का यह रूप ECPG या PL/pgSQL में उपलब्ध नहीं है, क्योंकि वे INTO . की व्याख्या करते हैं खंड अलग। इसके अलावा, CREATE TABLE AS SELECT INTO . द्वारा प्रदान की गई कार्यक्षमता का सुपरसेट प्रदान करता है ।

या, यदि लक्ष्य तालिका पहले से मौजूद है:

INSERT INTO transactions_combined (<list names of target column here!>)
SELECT ...

इसके अलावा:मैं date का उपयोग नहीं करूंगा स्तंभ नाम के रूप में। यह प्रत्येक SQL मानक में एक आरक्षित शब्द है और Postgres में एक फ़ंक्शन और डेटा प्रकार का नाम है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं PHP में उच्च परिशुद्धता दशमलव के साथ कैसे काम करूं

  2. PostgreSQL डेटाबेस बनाएँ

  3. मैं यह कैसे सुनिश्चित कर सकता हूं कि एक भौतिक दृश्य हमेशा अप टू डेट हो?

  4. पोस्टग्रेस्क्ल कंसोल में सामान्य होने पर क्वेरी सीएसवी फ़ाइल में क्यों नहीं सहेजी जाएगी?

  5. एकल SQL कथन का उपयोग करके एकाधिक अधिकतम () मानों का चयन करना