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

Truy vấn SQL 'bạn của bạn bè'

Bạn chỉ cần loại trừ những người là bạn trực tiếp cũng như là bạn của bạn bè. Tôi đã sắp xếp lại các bí danh của bảng để nó rõ ràng hơn một chút (với tôi, dù sao) những gì đang được truy xuất:

SELECT
    u.*
FROM
    user u
    INNER JOIN friend ff ON u.user_id = ff.friend_id
    INNER JOIN friend f ON ff.user_id = f.friend_id
WHERE
    f.user_id = {$user_id}
    AND ff.friend_id NOT IN
    (SELECT friend_id FROM friend WHERE user_id = {$user_id})

Nó cũng loại bỏ nhu cầu loại trừ ID người dùng đang được truy vấn.



  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 thế nào để chọn ngày 30 ngày qua trong MySQL ngay cả những ngày không có trong mysql?

  2. Nhận giá trị không sử dụng tối thiểu trong cột MySQL

  3. Xóa - Tôi không thể chỉ định bảng mục tiêu?

  4. Công cụ chuyển đổi truy vấn mySQL sang truy vấn Zend FrameWork

  5. Khôi phục đơn đặt hàng thương mại điện tử