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

mysql कथन में 'as' का उपयोग करते समय अज्ञात कॉलम त्रुटि प्राप्त करना

as एक कॉलम उपनाम बनाता है (इस मामले में other_id ), और आप एक कॉलम उपनाम पर शामिल नहीं हो सकते। आप ORDER BY . में किसी अन्य नाम का उपयोग कर सकते हैं लेकिन कहीं और नहीं, जब तक कि उपनाम एक सबक्वेरी से नहीं आता।

यहां आपका सबसे अच्छा विकल्प IF . को दोहराना होगा शामिल होने में कार्य करें:

SELECT
  a.id,
  a.from member_id,
  a.to member_id,
  IF(a.from member_id=1, a.to member_id, a.from member_id) as other_id,
  a.text,
  MAX(a.date sent) as date sent
FROM message a
JOIN members m on IF(a.from member_id=1, a.to member_id, a.from member_id) = m.id
WHERE (a.from member_id=1 OR a.to member_id=1) AND a.active=1
GROUP BY other_id
ORDER BY other_id DESC, date sent 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 कथन में .format () स्ट्रिंग का उपयोग कैसे करें?

  2. पंक्ति 1 में mysql . पर कॉलम 'profile_pic' के लिए डेटा छोटा कर दिया गया है

  3. Mysql json आधारित ट्रेंडिंग टैग कार्यान्वयन

  4. क्या t1, b2 को छोड़कर ड्रॉप टेबल जैसी किसी चीज़ को लागू करने के लिए कोई MySQL कमांड है?

  5. मैक शेर से दूरस्थ mysql से कनेक्ट नहीं हो सकता