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

Truy vấn tham gia Mysql cho nhiều thẻ (mối quan hệ nhiều-nhiều) khớp với TẤT CẢ các thẻ?

Sử dụng:

  SELECT * 
    FROM OBJECTS o
    JOIN OBJECTSTAGS ot ON ot.object_id = o.id
    JOIN TAGS t ON t.id = ot.tag_id
   WHERE t.name IN ('tag1','tag2')
GROUP BY o.id
  HAVING COUNT(DISTINCT t.name) = 2

Bạn đã thiếu điều khoản HAVING.

Không cần phải THAM GIA TRÁI nếu bạn chỉ muốn các hàng có cả hai thẻ tồn tại.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hệ thống đánh giá trong PHP và MySQL

  2. Làm cách nào để làm cho truy vấn này chạy nhanh hơn?

  3. Làm cách nào để tạo cấu trúc mảng này trong một biểu mẫu HTML?

  4. Khi nào tôi nên sử dụng các giao dịch trong các truy vấn của mình?

  5. Khóa ngoại MySQL khi xóa