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

डुप्लिकेट संयोजनों के बिना क्रॉस जॉइन करें

select A.id aid,B.id bid
from A inner join B on a.id <= b.id
union
select B.id,A.id
from A inner join B on b.id < a.id

यदि आप अधिक परिष्कृत होना चाहते हैं:

select distinct
       case when a.id<=b.id then a.id else b.id end id1,
       case when a.id<=b.id then b.id else a.id end id2
from A cross join B

मेरे छोटे से अवैज्ञानिक बेक में छोटी टेबल के साथ, बाद वाला तेज था। और नीचे, case सबक्वेरी के रूप में लिखे गए भाव।

select distinct
       (select MIN(id) from (select a.id union select b.id)[ ]) id1,
       (select MAX(id) from (select a.id union select b.id)[ ]) id2
from A cross join B


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. गतिशील रूप से #temp तालिका बनाना और फिर डेटा सम्मिलित करने के लिए उपयोग किया जाता है

  2. PHP के माध्यम से msSQL डेटाबेस से कनेक्ट करने में असमर्थ

  3. एमएस एसक्यूएल सर्वर और जेडीबीसी:बंद कनेक्शन

  4. नए कॉलम में सबस्ट्रिंग डालें

  5. प्रत्येक के नीचे स्वतंत्र रूप से आदेशित चाइल्ड पंक्तियों के साथ अवरोही तिथि के अनुसार मूल पंक्तियों को क्रमित करना