sql >> Database >  >> RDS >> Mysql

MySQL:selecteer meerdere rijen met waarden uit één kolom

Wat je hebt is een eigenschappentabel. Als je meerdere eigenschappen tegelijk wilt testen, moet je de tabel aan zichzelf koppelen:

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'

Het hebben van de surrogaat id aanwezig in een eigenschappentabel is twijfelachtig. Het lijkt niets te doen; elke eigenschap is geen eigen entiteit. Tenzij de id vereist is door een ander element, zou ik het verwijderen en car_id, name . maken de primaire sleutel (een samengestelde primaire sleutel).



  1. SQLSTATE[42000]:Syntaxisfout of toegangsfout:1064 U heeft een fout in uw SQL-syntaxis — PHP — PDO

  2. Probleem met invoegquery in Sqlite? (variabele invoegen)

  3. Toestemming geweigerd binnen /var/www/html bij het maken van een website en het zijn bestanden met de apache2-server

  4. Hoe lees ik een eigenschappenbestand en verbind ik een MySQL-database?