Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Otrzymywanie nieznanego błędu kolumny podczas używania „as” w instrukcji mysql

as tworzy alias kolumny (w tym przypadku other_id ) i nie możesz dołączyć do aliasu kolumny. Możesz użyć aliasu w ORDER BY ale nigdzie indziej, chyba że alias pochodzi z podzapytania.

Najlepszym rozwiązaniem byłoby powtórzenie IF funkcja w sprzężeniu:

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. Jak naprawić uszkodzone drzewo MPTT (zestaw zagnieżdżony) w bazie danych za pomocą SQL?

  2. TOP 5 składni usuwania MySQL z poradami dla programistów T-SQL

  3. Kolejność oceny instrukcji i przypisania zmiennych w UNIONS MySQL

  4. JPA nie wstawia się do bazy danych, dlaczego?

  5. Po aktualizacji systemu Windows 10 1803 mój program nie może otworzyć gniazda podczas pracy z udziału sieciowego