sql >> Databasteknik >  >> RDS >> Mysql

MySQL:Välj flera rader som innehåller värden från en kolumn

Det du har är en egenskapstabell. När du vill testa flera egenskaper samtidigt måste du ansluta tabellen till sig själv:

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'

Att ha surrogatet id finns i en egenskapstabell är tveksamt. Det verkar inte göra någonting; varje fastighet är inte en egen enhet. Såvida inte id krävs av något annat element, skulle jag bli av med det och skapa car_id, name primärnyckeln (en sammansatt primärnyckel).



  1. MySQL räknar matchande ord

  2. Php-session och problem med inlägg på inloggningssidan

  3. Påskyndar perl DBI fetchrow_hashref

  4. Hur man får PostgreSQL på en VPS / dedikerad server