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

Câu lệnh SELECT có một số cột khác nhau

Đó là vì SELECT đầu tiên của bạn và SELECT thứ hai có số lượng cột khác nhau, vì bạn đã giới thiệu Distance trong SELECT thứ hai .

Vì vậy, hãy thử tạo Distance trong truy vấn đầu tiên null hoặc 0 như sau.

SELECT * FROM
(
   SELECT *, 0 as Distance
   FROM user u
   INNER JOIN employee e ON (u.empid = e.empid)
   INNER JOIN awards a ON (u.empid = a.empid)
   WHERE u.empid = 123

   UNION

   SELECT *, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) )+ sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance
   FROM user u
   INNER JOIN employee e ON (u.empid = e.empid)
   INNER JOIN awards a ON (u.empid = a.empid)
   HAVING distance < 25
   ORDER BY distance
) a
ORDER BY timestamp 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. Làm cách nào để thực hiện time_to_minute trong Mysql?

  2. làm thế nào để sử dụng mysql với asp.net?

  3. Giá trị động tối thiểu cho phạm vi đặc tả (mysql)

  4. chèn lồng nhau trong mysql để gắn thẻ

  5. Tham gia 3 bảng với Đếm