sql >> Database teknologi >  >> RDS >> Mysql

Søgning i en kolonne, der indeholder CSV-data i en MySQL-tabel, for at se, om der er inputværdier

Først og fremmest skal databasen selvfølgelig ikke indeholde kommaseparerede værdier, men det er du forhåbentlig allerede klar over. Hvis tabellen var normaliseret, kunne du nemt få emnerne ved hjælp af en forespørgsel som:

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

Du kan matche strengene i de kommaseparerede værdier, men det er ikke særlig effektivt:

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


  1. sql if i insert statement uden at vælge

  2. Android SQLite lukket undtagelse

  3. Eksporter SQLite-database til en CSV-fil

  4. Sådan repareres en MySQL-database i cPanel