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

Търсене в колона, съдържаща CSV данни в MySQL таблица за наличие на входни стойности

На първо място, базата данни, разбира се, не трябва да съдържа стойности, разделени със запетая, но се надяваме, че вече сте наясно с това. Ако таблицата беше нормализирана, можете лесно да получите елементите, като използвате заявка като:

select distinct i.Itemid
from Item i
inner join ItemFeature f on f.ItemId = i.ItemId
where f.Feature in ('AB', 'PQ')

Можете да съпоставите низовете в стойностите, разделени със запетая, но това не е много ефективно:

select Id
from Item
where
  instr(concat(',', Features, ','), ',AB,') <> 0 or
  instr(concat(',', Features, ','), ',PQ,') <> 0


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Получаване на процент от Count(*) към броя на всички елементи в GROUP BY

  2. В какъв ред се оценяват MySQL JOIN?

  3. Как да разрешите пълнотекстово търсене с тирета в заявката за търсене

  4. Съхранени процедури в MySql:Как да изберете от таблицата с процедури?

  5. добра практика ли е да използвате mysql_free_result($result)?