Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL berjuang dengan kueri dalam satu ke banyak hubungan yang cocok dengan beberapa kondisi

Ini adalah pembagian relasional masalah.

Cara yang Anda sarankan dengan COUNT mungkin yang termudah di 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

Ada pendekatan lain dengan NOT EXISTS ganda double di artikel tertaut tetapi karena MySQL tidak mendukung CTE, itu akan sangat merepotkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa perbedaan antara MySQL dan SQL?

  2. Kembalikan MySQL pada transaksi dengan koneksi yang hilang/terputus

  3. diff 2 tabel database besar

  4. Dapatkan nama kolom tabel di MySQL?

  5. Menangani while loop dan mengelompokkan MYSQL PHP Values