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

उपयोग किए गए सेलेक्ट स्टेटमेंट में कॉलम की एक अलग संख्या होती है (REDUX !!)

यूनियन (UNION और UNION ALL ) के लिए आवश्यक है कि UNION'd होने वाली सभी क्वेरीज़:

  1. चयन खंड में समान संख्या में स्तंभ
  2. कॉलम डेटा प्रकार को प्रत्येक स्थान पर मेल खाना चाहिए

आपकी क्वेरी में है:

SELECT f.*, u1.*, u2.* ...
UNION 
SELECT fid2 FROM friends

मेरे पास सबसे आसान री-राइट है:

   SELECT f.*, u.*
     FROM FRIENDS AS f
     JOIN USERS AS u ON u.uid = f.fid2
    WHERE f.fid1 = 1 
      AND f.fid2 > 1
UNION 
   SELECT f.*, u.*
     FROM FRIENDS AS f
     JOIN USERS AS u ON u.uid = f.fid1
    WHERE f.fid2  = 1 
      AND f.fid1 < 1
ORDER BY RAND()
LIMIT 6;

आपने USERS . में शामिल होना छोड़ दिया है तालिका दो बार, लेकिन ऐसा प्रतीत नहीं होता कि जानकारी का उपयोग कर रहा है।




  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. एकल SQL क्वेरी में एकाधिक पंक्तियाँ कैसे सम्मिलित करें - सप्ताह का साक्षात्कार प्रश्न #069

  3. MySQL में रैंक की गणना कैसे करें

  4. तालिका 'केवल पढ़ने के लिए' है

  5. MYSQL ऑर्डर बाय केस इश्यू