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

użyj wartości kolumny jako nazwy kolumny mysql

Nie możesz odwoływać się do aliasu kolumny w tym samym SELECT klauzula. Musisz przenieść go do podzapytania. I nie możesz odwoływać się do aliasu w WHERE klauzula tego samego SELECT , musisz użyć 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

Zdecydowanie sugeruję, abyś poprawił projekt tabeli, umieszczając szerokość i długość geograficzną we własnych kolumnach, zamiast każdorazowego dzielenia przecinkami.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zmień nazwę tabeli w MySQL

  2. Jak uzyskać rekordy z ostatnich 7 dni w MySQL?

  3. Jak znaleźć najczęstszy wynik w kolumnie w mojej tabeli MySQL?

  4. PDO::PARAM dla dat?

  5. Problem z zasięgiem MySql ze skorelowanymi podzapytaniami