Tôi có một danh sách các mục trên một trang web. Mỗi mục có một số danh mục gắn liền với nó, hãy gọi các thể loại phim thể loại này. Trong tìm kiếm nâng cao, tôi cho phép mọi người chọn hộp cho các thể loại mà họ thích và nó sẽ phát ra danh sách phim phù hợp với bất kỳ thể loại nào được chọn.Sử dụng mệnh đề MySQL IN là bao gồm tất cả (VÀ thay vì HOẶC)
Tôi có một câu hỏi như thế này:
AND column IN ('5', '8', '9')
Vấn đề ở đây là nếu bạn chọn "hoạt hình" và "kinh dị" bạn sẽ nhận được một loạt các phim hoạt hình Disney ("hoạt hình") và series SAW ("kinh dị").
Tôi muốn điều chỉnh tìm kiếm thành bao gồm tất cả, vì vậy nó sẽ chỉ trả lại kết quả phù hợp với TẤT CẢ các thể loại được chọn, vì vậy các mục được đánh dấu là 'hoạt ảnh' và 'kinh dị' sẽ được trả lại.
Cặp item_id và category_id được lưu trữ trong một bảng riêng biệt. Vì vậy, đối với một bộ phim có ID 55, có thể có 4 thể loại, do đó sẽ có 4 hàng có item_id = 55 và category_id bằng 4 Id danh mục.
Không, cột chỉ chứa 1 giá trị. Làm thế nào có thể 1 bằng 1, 2 và 3 cùng một lúc? – Kleinux
Bạn có thể giải thích tình trạng này có thể đúng không ?! '(cột = 5 VÀ cột = 8 VÀ cột = 9)' – RichardTheKiwi
@ kleinux Tôi giả sử đó là những ví dụ và thực sự sẽ là các tham số có thể được tạo ra bởi ứng dụng. – jzd