J'ai une table qui utilise un type de données défini pour l'un des champs et pour vérifier si le champ contient un élément spécifique que j'utilise cela fonctionne la plupart du temps, mais deux Les valeurs potentielles ont le même mot, c'est-à-dire qu'un élément possible de l'ensemble est le caniche et une autre est le caniche jouet. Si je fais p> Il renvoie toutes les lignes qui ont une caniche ou une caniche jouet. Je veux que cela ne revenait que si le champ contient du caniche. Si je retire les caractères génériques, cela ne retournera que les rangées qui n'ont que caniche. Donc, fondamentalement, si la table était la suivante: p> J'ai besoin d'une instruction SELECT qui retournerait 1,3, et 4 mais pas 2. Est-ce que cela est possible? P> < / p>
4 Réponses :
Vous devez faire: Sélectionnez * à partir de la table dans laquelle Find_in_set ('Poodle', mySe)> 0 code> comme décrit dans Documentation P>
Je ne sais pas comment j'ai négligé ça ... se sentir un peu stupide maintenant. C'était là que j'ai reçu les informations à utiliser comme% ...%, juste en quelque sorte raté la partie Find_in_set
maintenant je sais. Heureux d'ajouter un autre ensemble de connaissances dans ma base de données de la cerveau
SELECT * FROM table WHERE FIND_IN_SET( '"Poddle"', myset ) > 0 looking for " would be important to eliminate record #2
Désolé si je suis complètement manquant le point ici, mais les citations de votre résultatsset sont-elles réellement stockées dans la DB?
Ce que je veux dire, c'est que la valeur réelle de la première rangée est-elle égale ... P >
SELECT * FROM table WHERE myset LIKE '%"Poodle"%';
Non, les citations ne sont pas stockées dans la DB que je voulais simplement les utiliser pour une présentation dans la question pour indiquer que chacun était une valeur éventuelle distincte
Alors, la chaîne réelle pour ID 2 serait-elle caniche, caniche jouet