Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wyszukiwanie kolumny zawierającej dane CSV w tabeli MySQL pod kątem istnienia wartości wejściowych

Po pierwsze, baza danych nie powinna oczywiście zawierać wartości oddzielonych przecinkami, ale mam nadzieję, że już o tym wiesz. Jeśli tabela została znormalizowana, możesz łatwo uzyskać elementy za pomocą zapytania takiego jak:

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

Możesz dopasować ciągi w wartościach oddzielonych przecinkami, ale nie jest to zbyt wydajne:

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. ponowne użycie aliasu w SELECT

  2. Jak uzyskać wynik na 2 stołach?

  3. Jak znaleźć średnią różnicę czasu między wierszami w tabeli?

  4. Tworzenie pliku kml z bazy danych mysql za pomocą php

  5. Resetowanie wskaźnika tablicy w wynikach PDO