Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL:Изберете няколко реда, съдържащи стойности от една колона

Това, което имате, е таблица със свойства. Когато искате да тествате няколко свойства наведнъж, трябва да присъедините таблицата към себе си:

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'

Притежаване на заместителя id присъства в таблица със свойства е съмнително. Изглежда, че не прави нищо; всеки имот не е самостоятелно образувание. Освен ако id се изисква от някакъв друг елемент, бих се отървал от него и бих направил car_id, name първичния ключ (съставен първичен ключ).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL Група по колона с 2 реда за всяка група

  2. SQL как да сравните две колони от две различни таблици

  3. Върнете ред само ако стойността не съществува

  4. Python db-api:fetchone срещу fetchmany срещу fetchall

  5. Хибернация:каква е разликата между MySQLDialect и MySQLInnoDBDialect?