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

Truy vấn SQL dựa trên bảng khác

Hãy thử truy vấn này:

SELECT m2.movieId
FROM mMoviesGenres m1
INNER JOIN mMoviesGenres m2
    ON m1.genreID = m2.genreID
WHERE m1.movieId = 1 AND
      m2.movieId <> 1
GROUP BY m2.movieId
HAVING COUNT(*) = (SELECT COUNT(*) FROM mMoviesGenres WHERE movieId = 1)

Cập nhật:

Nếu bạn muốn tìm những bộ phim giống nhau về ít nhất hai thể loại, hãy sử dụng HAVING này mệnh đề:

HAVING COUNT(*) >= 2


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - tự động bổ sung thành phần hướng dẫn

  2. Sao chép MySQL và chuyển đổi dự phòng dựa trên GTID - Đi sâu vào các giao dịch có lỗi

  3. Sequelize:Lỗi:Lỗi:Table1 không được liên kết với Table2

  4. Cảnh báo PHP:mysqli_connect ():(HY000 / 2002):Kết nối bị từ chối

  5. ImportError:Không có mô-đun nào có tên mysql.connector sử dụng Python3?