2010-09-25 2 views
0

La table se compose des colonnes column_1, column_2, column_3. Étant donné l'ensemble des valeurs de chaîne (string1, string2, ... string 10), je dois créer une requête pour retourner toutes les lignes contenant string1 ou string2 ou ... ou string10 dans column_1 ou dans column_2.Comment créer une requête pour sélectionner des enregistrements qui contiennent l'une des valeurs définies dans une ligne?

Je serais reconnaissant si quelqu'un a suggéré un bon moyen d'écrire une requête appropriée pour un problème donné.

Au début, je crée une déclaration

"SELECT .... FROM ... WHERE column_1 = string1 OR column_2 = string1 OR column_1 = string2 OR column_2 = string2 OR ... OR column_2 = string10" 

mais cette manière, la requête est très long bien qu'une méthode pourrait être créée pour composer cette requête.

Répondre

2
SELECT 
    ... 
FROM 
    ... 
WHERE 
    column_1 in (string1, string2...string10) 
    OR column_2 in (string1, string2...string10) 

Je remarque que vous dites contiennent mais vous testez en fait pour l'égalité, ce sont 2 choses différentes et la requête est tout à fait différent, vous signifiait vraiment contiennent.

Questions connexes