sql >> Database >  >> RDS >> Mysql

MYSQL zoeken door cellen met door komma's gescheiden waarden

Dit is een teken van een slecht DB-ontwerp waar u eerst naar moet kijken Databasenormalisatie en als u de structuur kunt wijzigen, normaliseert u deze eerst door een verbindingstabel te gebruiken. Vanaf nu kunt u FIND_IN_SET() om uw corresponderende record-ID te vinden in de kolom met door komma's gescheiden ID's

SELECT * FROM table 
WHERE  FIND_IN_SET('id1',column) > 0
AND FIND_IN_SET('id2',column) > 0
AND FIND_IN_SET('id3',column) > 0

Wijzig de operator volgens uw wens. Ik heb een voorbeeld getoond met de AND-operator, let op:u moet FIND_IN_SET gebruiken zo vaak als het aantal id's dat je in je array hebt dat je moet vergelijken met je kolom




  1. T-SQL Opgeslagen procedure overslaan:

  2. Laravel leftWord alleen lid van het laatste record van de rechtertafel

  3. Mysql dubbele rijen (duplicaat gedetecteerd met 2 kolommen)

  4. Identificatie van ASH-sequentieconflicten in RAC