Mysql
 sql >> база данни >  >> RDS >> Mysql

Получаване на грешка в неизвестна колона при използване на „as“ в оператора mysql

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. Не може да се извлекат метаданни

  2. Завършете обаждането на AJAX, преди бутонът на PayPal да пренасочи

  3. Как да свържа html страници към mysql база данни?

  4. Mysql Like + Wild Card срещу оператор Equals

  5. Как да нулирам поредните номера, за да станат последователни?