sql >> Databáze >  >> RDS >> Mysql

MYSQL prohledává buňky s hodnotami oddělenými čárkami

Toto je známka špatného návrhu DB, měli byste se nejprve podívat do Normalizace databáze a pokud můžete změnit strukturu, pak ji nejprve normalizujte pomocí spojovací tabulky, nyní můžete použít FIND_IN_SET() a vyhledejte odpovídající ID záznamu ve sloupci ID oddělených čárkami

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

Změňte operátor podle svého přání, uvedl jsem příklad s operátorem AND, všimněte si, že musíte použít FIND_IN_SET tolikrát, kolikrát máte ve svém poli ID, která potřebujete porovnat se svým sloupcem




  1. Jaká je správná syntaxe pro Regex najít a nahradit pomocí REGEXP_REPLACE v MariaDB?

  2. ScaleGrid je nyní k dispozici v regionu Sydney AWS

  3. Chyba:Poskytovatel TCP:Kód chyby 0x2746. Během nastavení SQL v linuxu přes terminál

  4. Jak nainstalovat Oracle na Mac