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

MySQL:Vælg flere rækker, der indeholder værdier fra én kolonne

Det du har er en egenskabstabel. Når du vil teste flere egenskaber på én gang, skal du slutte tabellen til sig selv:

SELECT c0.car_id
FROM table_cars AS c0
JOIN table_cars AS c1 ON c1.car_id=c0.car_id
JOIN table_cars AS c2 ON c2.car_id=c1.car_id
WHERE c0.name='MAKE' AND c0.value='FORD'
AND c1.name='COLOR' AND c1.value='SILVER'
AND c2.name='TOPSPEED' AND c2.value='200KM/H'

At have surrogatet id findes i en egenskabstabel er tvivlsom. Det ser ikke ud til at gøre noget; hver ejendom er ikke sin egen enhed. Medmindre id er påkrævet af et andet element, ville jeg slippe af med det og lave car_id, name den primære nøgle (en sammensat primærnøgle).



  1. Lagring af Python-syltede objekter i MySQL db

  2. Gennemfør Laravel 8 Soft Slet &Gendan slettede optegnelser Tutorial

  3. Sådan migreres WHMCS-databasen til MariaDB Galera Cluster

  4. Hvordan ændres VARCHAR-type til DATETIME ved hjælp af ALTER i MySQL?