sql >> Database teknologi >  >> RDS >> Mysql

Den korrekte måde at gemme varer med filtrerbare attributter?

Jeg kan godt lide at bruge aggregering til dette med betinget aggregering. For eksempel til din første punkt:

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 betyder, at kombinationen attribut/værdi eksisterer. Brug = 0 for at angive, at det ikke virker.




  1. Kan du hjælpe mig med at skrive en procedure i Oracle for at spoole data fra en tabel til en CSV-fil?

  2. SQL Server 2008:Jeg har 1000 tabeller, jeg skal vide, hvilke tabeller der har data

  3. Slut dig til to tabeller med alle poster

  4. Top nyttige AWR-forespørgsler til R12.2/R12.1-opgradering