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

डेटाबेस से प्राप्त अनावश्यक मूल्यों पर ध्यान न दें

अगर यह केवल (B, A) . के इलाज के बारे में है (A, B) . के डुप्लीकेट के रूप में और आपको विशेष रूप से परवाह नहीं है कि लौटाई गई पंक्ति (A, B) . होगी या नहीं या (B, A) , आप कुछ ऐसा कर सकते हैं:

SELECT DISTINCT
  CASE WHEN BUG_ID > LINKED_BUG_ID THEN LINKED_BUG_ID ELSE BUG_ID AS BUG_ID,
  CASE WHEN BUG_ID > LINKED_BUG_ID THEN BUG_ID ELSE LINKED_BUG_ID AS LINKED_BUG_ID
FROM MY_BUG_LINKS;

यानी, अगर BUG_ID LINKED_BIG_ID . से बड़ा मान है , क्वेरी दो आईडी को स्वैप करती है, अन्यथा मान अपरिवर्तित होते हैं। इसलिए, (A, B) और (B, A) हमेशा डुप्लिकेट पंक्तियां उत्पन्न करें (दोनों या तो (A, B) . होंगी या (B, A) ), और DISTINCT सुनिश्चित करता है कि अंतिम परिणाम में कोई नहीं है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL क्वेरी, औसत चढ़ाई और जोड़ी जो सबसे अधिक चोटियों पर चढ़ी है

  2. मैं Oracle से अगली n अनलॉक की गई पंक्तियों को कैसे प्राप्त कर सकता हूं?

  3. प्रशासन और निगरानी के लिए Oracle डाटाबेस के लिए 27 oracle dba स्क्रिप्ट

  4. UNIX में SQLplus कमांड की सामग्री को रोकें?

  5. प्राथमिक के बजाय दो विदेशी कुंजी