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

Oracle माइनस स्टेटमेंट को डुप्लीकेट हटाने से रोकें

दूसरा विकल्प:

SELECT TEST, row_number() OVER (PARTITION BY TEST ORDER BY TEST) FROM TEST1
MINUS
SELECT TEST, row_number() OVER (PARTITION BY TEST ORDER BY TEST) FROM TEST2

यह माइनस होगा जिसमें प्रत्येक डुप्लीकेट को एक अलग प्रविष्टि के रूप में माना जाएगा। नीचे दिए गए उदाहरण में ध्यान दें, यदि TEST1 में दो 'C' मान हैं और TEST2 में केवल एक है, तो आपको आउटपुट में एक मिलता है।

dev> select * from test1;

T
-
A
A
B
C
C

dev> select * from test2;

T
-
B
C

dev>     SELECT TEST, row_number() OVER (PARTITION BY TEST ORDER BY TEST) FROM TEST1
  2      MINUS
  3      SELECT TEST, row_number() OVER (PARTITION BY TEST ORDER BY TEST) FROM TEST2
  4  /

T ROW_NUMBER()OVER(PARTITIONBYTESTORDERBYTEST)
- --------------------------------------------
A                                            1
A                                            2
C                                            2


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ODP.Net लॉगिंग सक्षम करें

  2. Oracle ट्रिगर त्रुटि ORA-04091

  3. कैसे एक स्ट्रिंग oracle से दिनांक स्वरूप निकालने के लिए?

  4. Oracle में केवल अल्फ़ान्यूमेरिक वर्ण वाली पंक्तियों को वापस करने के 2 तरीके

  5. sql . में एक तिमाही के महीने के आधार पर डेटा प्राप्त करें