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

प्रत्येक से एक कॉलम का उपयोग करके दो तालिका कार्यों के परिणाम की तुलना करें

निम्नलिखित सभी उत्तर मानते हैं कि पंक्तियाँ मिलान . में दी गई हैं आदेश।

9.3 पोस्ट करें

SRF फ़ंक्शन से पंक्तियों को एक्सप्लोड करने की विचित्र विशेषता के साथ समान . लौटाते हैं समानांतर में पंक्तियों की संख्या:

SELECT count(*) AS mismatches
FROM  (
   SELECT function1('tblp1','tblp2',49) AS f1
        , function2('tblp1_v2','tblp2_v2',49) AS f2
   ) sub
WHERE  (f1).dist <> (f2).dist;  -- note the parentheses!

संभावित तालिका संदर्भ से अलग होने के लिए पंक्ति प्रकार के चारों ओर कोष्ठक आवश्यक हैं। यहाँ मैनुअल में विवरण।

यह पंक्तियों के कार्टेशियन उत्पाद के लिए डिफ़ॉल्ट है यदि लौटाई गई पंक्तियों की संख्या समान नहीं है (जो इसे आपके लिए पूरी तरह से तोड़ देगी)।

9.4 पोस्ट करें

WITH ORDINALITY फ्लाई पर पंक्ति संख्या उत्पन्न करने के लिए

आप WITH ORDINALITY का उपयोग कर सकते हैं मक्खी पर एक पंक्ति संख्या उत्पन्न करने के लिए और SELECT में SRF कार्यों के परिणाम को जोड़ने पर निर्भर होने की आवश्यकता नहीं है सूची:

SELECT count(*) AS mismatches
FROM      function1('tblp1','tblp2',49)       WITH ORDINALITY AS f1(id,dist,rn)
FULL JOIN function2('tblp1_v2','tblp2_v2',49) WITH ORDINALITY AS f2(id,dist,rn) USING (rn)
WHERE  f1.dist IS DISTINCT FROM f2.dist;

यह प्रत्येक फ़ंक्शन से समान पंक्तियों के साथ-साथ भिन्न संख्याओं के लिए भी काम करता है (जिसे बेमेल के रूप में गिना जाएगा)।

संबंधित:

ROWS FROM पंक्ति-दर-पंक्ति सेट में शामिल होने के लिए

SELECT count(*) AS mismatches
FROM   ROWS FROM (function1('tblp1','tblp2',49)
                , function2('tblp1_v2','tblp2_v2',49)) t(id1, dist1, id2, dist2)
WHERE  t.dist1 IS DISTINCT FROM t.dist2;

संबंधित उत्तर:

इसके अलावा:
EXECUTE FORMAT एक सेट plpgsql कार्यक्षमता नहीं है। RETURN QUERY है। format() क्वेरी स्ट्रिंग बनाने के लिए बस एक सुविधाजनक कार्य है, SQL या plpgsql में कहीं भी उपयोग किया जा सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. रेल एसक्यूएल चयन कथन में स्थिरांक पर ध्यान नहीं देता

  2. जहां क्लॉज का उपयोग करके PostgreSQL में jsonb कॉलम प्रकार में संग्रहीत JSON सरणी से किसी विशिष्ट JSON ऑब्जेक्ट को कैसे संशोधित या निकालें?

  3. PostgreSQL मेरे स्थिर/अपरिवर्तनीय फ़ंक्शन को कई बार क्यों कॉल कर रहा है?

  4. 10 सेकंड में पोस्टग्रेस्क्ल क्वेरी

  5. Postgresql एक तालिका से कॉलम में मानों का चयन कैसे करें जो केवल किसी अन्य तालिका में उपलब्ध हैं?