7
votes

mysql où set DataType contient un élément

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 xxx

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 xxx

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: xxx

J'ai besoin d'une instruction SELECT qui retournerait 1,3, et 4 mais pas 2. Est-ce que cela est possible? < / p>


0 commentaires

4 Réponses :


9
votes

Que diriez-vous d'utiliser le Find_in_set méthode?


0 commentaires

13
votes

Vous devez faire: Sélectionnez * à partir de la table dans laquelle Find_in_set ('Poodle', mySe)> 0 comme décrit dans Documentation


2 commentaires

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



1
votes
SELECT * FROM table WHERE FIND_IN_SET( '"Poddle"', myset ) > 0
looking for " would be important to eliminate record #2

0 commentaires

1
votes

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"%';


2 commentaires

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