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

MYSQL:सेल्फ-जॉइनिंग के दौरान रिकॉर्ड दोहराने के कार्टेशियन उत्पाद से बचना

select a_numbered.id, a_numbered.identifier, b_numbered.id from 
(
select a.*,
       case 
          when @identifier = a.identifier then @rownum := @rownum + 1
          else @rownum := 1
       end as rn,
       @identifier := a.identifier
  from a
  join (select @rownum := 0, @identifier := null) r
order by a.identifier

) a_numbered join (
select b.*,
       case 
          when @identifier = b.identifier then @rownum := @rownum + 1
          else @rownum := 1
       end as rn,
       @identifier := b.identifier
  from b
  join (select @rownum := 0, @identifier := null) r
order by b.identifier

) b_numbered 
on a_numbered.rn=b_numbered.rn and a_numbered.identifier=b_numbered.identifier



  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. HTML कॉलम में दिखाने के लिए mySQL जानकारी को कैसे विभाजित करें

  3. लगातार अंतिम पंक्ति ढूँढना

  4. MySql इनर जॉइन विद WHERE क्लॉज

  5. MySQL सी # async विधियां काम नहीं करती हैं?