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

използвайте стойността на колоната като име на колона mysql

Не можете да препращате към псевдоним на колона в същия SELECT клауза. Трябва да го преместите в подзаявка. И не можете да се позовавате на псевдоним в WHERE клауза на същия SELECT , трябва да използвате HAVING .

SELECT *, (((acos(sin(("26.851791"*pi()/180)) * sin((`lat`*pi()/180))+cos(("26.851791"*pi()/180)) * cos((`lat`*pi()/180)) * cos((("75.781810"- `lng`)*pi()/180))))*180/pi())*60*1.1515*1.609344) as distance
FROM (SELECT *, 
        SUBSTRING_INDEX( location, ',', 1 ) AS lat, 
        SUBSTRING_INDEX( location, ',', -1 ) AS lng
      FROM users_test) x
HAVING distance > 5

Силно препоръчвам да коригирате дизайна на таблицата си, за да поставите географската ширина и дължина в техните собствени колони, вместо всеки път да се налага да разделяте запетая.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL заявки

  2. MySQL заявка за намиране на клиенти, които са поръчали два конкретни продукта

  3. Същите ли са левите външни съединения и левите съединения?

  4. Настройка на MySQL InnoDB клъстер с MySQL Shell (плюс MySQL рутер)

  5. Проблем със заявка за хибернация с Informix