sql >> Databáze >  >> RDS >> Mysql

Získání neznámé chyby sloupce při použití „as“ v příkazu mysql

as vytvoří alias sloupce (v tomto případě other_id ) a nemůžete se připojit k aliasu sloupce. V ORDER BY můžete použít alias ale nikde jinde, pokud alias nepochází z dílčího dotazu.

Nejlepší možností by zde bylo zopakovat IF funkce ve spojení:

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. Jaké je výchozí pořadí výběru v PostgreSQL nebo MySQL?

  2. Je jméno vyhrazené slovo v MySQL?

  3. Jaký je rozdíl mezi klenotem mysql a mysql2

  4. Ukládání urdských znaků v MySQL