Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mendapatkan kesalahan kolom yang tidak diketahui saat menggunakan 'sebagai' dalam pernyataan mysql

as membuat alias kolom (dalam hal ini other_id ), dan Anda tidak dapat bergabung dengan alias kolom. Anda dapat menggunakan alias di ORDER BY tapi tidak di tempat lain, kecuali alias berasal dari subquery.

Pilihan terbaik Anda di sini adalah mengulangi IF fungsi di gabung:

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. Bagaimana cara melakukan trigger yang mengimplementasikan kondisi ini?

  2. PDO:nama baris sebagai indeks array hasil

  3. Apa arti tanda * dalam pernyataan mysql?

  4. Cara membatalkan eksekusi kueri di phpmyadmin

  5. Waktu Kueri Tidak menentu MySQL