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

Tên cột trùng lặp trên JOIN trong mysql

Bạn cần cung cấp cột bí danh trong truy vấn bên trong

SELECT COUNT( * )
FROM (

  SELECT t.*
  FROM `user` `t`
  JOIN `user_relation` r ON ( t.user_id = r.follower_id
  OR t.user_id = r.user_id )
  WHERE r.status = "active"
  AND (
    r.user_id =125
    OR r.follower_id =125
  )
  AND t.user_id !=125
  GROUP BY t.username
)sq

Vì bạn quan tâm đến count(*) chỉ bạn mới có thể trả lại t.* hoặc r.* hoặc bất kỳ một cột nào, điều kiện là tên cột đó trong truy vấn bên trong PHẢI là duy nhất hoặc nếu giống nhau trong cả hai bảng với tiền tố là tên bí danh của bảng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hiệu suất MySQL:nhiều bảng so với chỉ mục trên một bảng và phân vùng

  2. SQL SERVER - SQL_NO_CACHE và TÙY CHỌN (RECOMPILE)

  3. Đặt hàng SQL bằng LIKE mạnh nhất?

  4. Cách hủy bỏ việc thực thi các tập lệnh MySQL (có lẽ gây ra lỗi)?

  5. Sử dụng dấu nền xung quanh tên trường