Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

sử dụng giá trị cột làm tên cột mysql

Bạn không thể tham chiếu đến bí danh cột trong cùng một SELECT mệnh đề. Bạn cần chuyển nó vào một truy vấn con. Và bạn không thể tham chiếu đến bí danh trong WHERE mệnh đề của cùng một SELECT , bạn cần sử dụng 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

Tôi thực sự khuyên bạn nên sửa thiết kế bảng của mình để đặt vĩ độ và kinh độ vào các cột của riêng chúng, thay vì phải phân chia bằng dấu phẩy mọi lúc.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cách sử dụng LINQ to SQL với mySQL

  2. Cách sử dụng STRCMP () để so sánh 2 chuỗi trong MySQL

  3. Làm thế nào để xóa đệ quy các mục khỏi bảng?

  4. Đủ điều kiện cho một tên cột bảng tạm thời trong jOOQ

  5. Làm thế nào để đặt lại mật khẩu gốc MySQL đã quên?