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

सेलेक्ट स्टेटमेंट में अलग-अलग कॉलम होते हैं

ऐसा इसलिए है क्योंकि आपका पहला SELECT और दूसरा SELECT जब से आपने Distance . पेश किया है, तब से आपके पास अलग-अलग संख्या में कॉलम हैं दूसरे में SELECT .

तो Distance बनाने की कोशिश करें पहली क्वेरी में शून्य या 0 इस प्रकार है।

SELECT * FROM
(
   SELECT *, 0 as Distance
   FROM user u
   INNER JOIN employee e ON (u.empid = e.empid)
   INNER JOIN awards a ON (u.empid = a.empid)
   WHERE u.empid = 123

   UNION

   SELECT *, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) )+ sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance
   FROM user u
   INNER JOIN employee e ON (u.empid = e.empid)
   INNER JOIN awards a ON (u.empid = a.empid)
   HAVING distance < 25
   ORDER BY distance
) a
ORDER BY timestamp DESC


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. चेतावनी:mysql_result () पैरामीटर 1 को संसाधन, ऑब्जेक्ट दिए जाने की अपेक्षा करता है

  2. A दिनांक से B दिनांक तक खोज डेटा के लिए WHERE CLAUSE का उपयोग करें

  3. डुप्लिकेट कुंजी अद्यतन एकाधिक कॉलम पर MySQL सम्मिलित पंक्ति

  4. MySQL सभी उपश्रेणियों के उत्पादों की गणना करें

  5. MySQL डेटाबेस और JPA के साथ स्प्रिंग बूट का उपयोग कैसे करें?