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

2 अलग-अलग डेटाबेस पर 2 टेबल्स को बाएं कैसे जोड़ा जाए?

आप बस विभिन्न डेटाबेस की तालिका में शामिल हो सकते हैं। आपको अपने FROM . में डेटाबेस नाम निर्दिष्ट करने की आवश्यकता है खंड। इसे छोटा करने के लिए, एक ALIASजोड़ें उस पर,

SELECT  a.*,          -- this will display all columns of dba.`UserName`
      b.`Message`
FROM  dba.`UserName` a  -- or LEFT JOIN to show all rows whether it exists or not
      INNER JOIN dbB.`PrivateMessage` b    
         ON a.`username` = b.`username`

लेकिन कुछ कैसे, संभावनाएँ हैं जहाँ-एक username . में संदेश नहीं होंगे। इस मामले में LEFT JOIN use का उपयोग करें यदि आप अभी भी dba.Username . के सभी रिकॉर्ड दिखाना चाहते हैं ।

आपकी टिप्पणियों से पढ़ना, तालिकाओं में भिन्न collation है . इस पर काम करने के लिए COLLATE . निर्दिष्ट करना है आपके सम्मिलित बयानों पर,

SELECT  a.*,          -- this will display all columns of dba.`UserName`
      b.`Message`
FROM  dba.`UserName` COLLATE latin1_swedish_ci a  
      LEFT JOIN dbB.`PrivateMessage` COLLATE latin1_swedish_ci b    
         ON a.`username` = b.`username`

आप latin1_swedish_ci को बदल सकते हैं जो कुछ भी आप चाहते हैं।

COLLATION के बारे में अधिक जानकारी के लिए,

. की यह पूरी सूची देखें

MySQL में कैरेक्टर सेट और कॉलेशन

यदि आपके पास ALTER . के लिए पर्याप्त विशेषाधिकार है टेबल, बस इस सिंटैक्स का उपयोग मैन्युअल रूप से कनवर्ट करने और उनके कोलाज से मिलान करने के लिए करें,

ALTER TABLE tbl_name CONVERT TO CHARACTER SET latin2 COLLATE 'latin2_general_ci';


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पीडीओ मल्टी-क्वेरी SQLSTATE [HY000]:सामान्य त्रुटि

  2. SQLAlchemy - तालिकाओं की सूची प्राप्त करना

  3. Node.js सिंक्रोनस रूप से लूप या एसिंक्रोनस स्टेटमेंट पर पुनरावृति

  4. MySQL 8.0 में नई विश्लेषणात्मक विंडो कार्यों की समीक्षा

  5. क्या आईपी + सीआईडीआर के साथ आईपी से सीधे चयन क्वेरी से मिलान करने का कोई तरीका है?