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

Cara yang benar untuk menyimpan item dengan atribut yang dapat difilter?

Saya suka menggunakan agregasi untuk ini dengan agregasi bersyarat. Misalnya, untuk butir pertama Anda:

select a.carid
from attributes a
group by a.carid
having sum( (attribute, value) in ( ('color', 'red'), ('color', 'blue') ) ) > 0 and 
       sum( (attribute, value) in ( ('wheels', '2') ) > 0;

> 0 berarti bahwa kombinasi atribut/nilai ada. Gunakan = 0 untuk menentukan bahwa itu tidak berfungsi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menguji apakah suatu string adalah JSON atau bukan?

  2. Bagaimana cara terhubung ke mysql dengan laravel?

  3. Apa yang salah dengan string koneksi mysql ini?

  4. Cegah catatan duplikat ke tabel menggunakan PHP

  5. Tidak ada yang ditampilkan setelah saya memuat halaman