Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Gặp lỗi cột không xác định khi sử dụng 'as' trong câu lệnh mysql

as tạo bí danh cột (trong trường hợp này là other_id ), và bạn không thể tham gia bằng bí danh cột. Bạn có thể sử dụng bí danh trong ORDER BY nhưng không ở đâu khác, trừ khi bí danh đến từ một truy vấn con.

Lựa chọn tốt nhất của bạn ở đây là lặp lại IF chức năng trong tham gia:

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. Tạo tập kết quả khác nhau bằng cách sử dụng một tập kết quả

  2. Lập chỉ mục nhiều cột với Ruby on Rails

  3. 1093 Lỗi trong bảng MySQL được chỉ định hai lần

  4. Làm cách nào để lưu trữ dữ liệu từ mysql sang XML trong Laravel 5?

  5. PHP:Lấy hình ảnh từ MySQL bằng PDO