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

MySQL đấu tranh với truy vấn trong một đến nhiều mối quan hệ phù hợp với nhiều điều kiện

Đây là phép chia quan hệ vấn đề.

Cách bạn đề xuất với COUNT có lẽ là dễ nhất trong MySQL

SELECT product_id
FROM product_attributes pa
WHERE (attribute='size' and value='medium')
OR (attribute='colour' and value='blue')
GROUP BY product_id
HAVING COUNT(DISTINCT CONCAT(attribute,value) ) = 2

Có một cách tiếp cận khác với đôi NOT EXISTS trong bài viết được liên kết nhưng vì MySQL không hỗ trợ CTE nên sẽ khá cồng kềnh.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CHÈN BỎ QUA tăng bộ đếm tăng tự động ngay cả khi không có bản ghi nào được thêm vào?

  2. MySql:Cách gọi một thủ tục được lưu trữ trước khi khai báo các câu lệnh

  3. Máy chủ mysql đã biến mất trong quá trình di chuyển cài đặt (laravel)

  4. SQL:Chọn số lượng nhiều bảng

  5. Chốt lại mã ngoại lệ cho PHP, MySQL PDOException?