J'ai une requête sqlite3 comme:
SELECT Word FROM table WHERE Word NOT LIKE '%a%';
Cela sélectionnerait tous les mots où "un" ne se produit pas dans la Parole. Cela je peux arriver à travailler parfaitement. Le problème est que si je veux restreindre davantage les résultats pour ne pas inclure "b" dans le mot. Je imagine quelque chose comme ça.
SELECT Word FROM table WHERE Word NOT IN ('%a%', '%b%', '%z%');
qui cela ne fonctionne évidemment pas, mais c'est l'idée. J'essaie d'éviter d'ajouter simplement une clause AND
:
SELECT Word FROM table WHERE Word NOT LIKE '%a%' AND NOT LIKE '%b%';
Si c'est la seule option, je devrai travailler avec cela, mais j'espérais autre chose.
Si vous utilisez le support REGEXP de Sqlite (voir la réponse à la section Problème avec regexp python et sqlite pour savoir comment faire)), vous pouvez le faire facilement en une clause:
SELECT Word FROM table WHERE Word NOT REGEXP '[abc]';
SELECT Word FROM table WHERE Word NOT LIKE '%a%'
AND Word NOT LIKE '%b%'
AND Word NOT LIKE '%c%';
Vous avez manqué la deuxième déclaration: 1) pas comme A, et 2) pas comme B
SELECT Word FROM table WHERE Word NOT LIKE '%a%' AND Word NOT LIKE '%b%'
c'est une commande select
FROM
user
WHERE
application_key = 'dsfdsfdjsfdsf'
AND email NOT LIKE '%applozic.com'
AND email NOT LIKE '%gmail.com'
AND email NOT LIKE '%kommunicate.io';
cette commande de mise à jour
UPDATE user
SET email = null
WHERE application_key='dsfdsfdjsfdsf' and email not like '%applozic.com'
and email not like '%gmail.com' and email not like '%kommunicate.io';
La requête que vous recherchez sera
SELECT Word FROM table WHERE Word NOT LIKE '%a%' AND Word NOT LIKE '%b%'
Je ne sais pas pourquoi vous évitez les clauses ET . C'est la solution la plus simple.
Sinon, vous devrez faire une INTERSECTION de plusieurs requêtes:
SELECT Word FROM table WHERE Word NOT LIKE '%a%'
INTERSECT
SELECT Word FROM table WHERE Word NOT LIKE '%b%'
INTERSECT
SELECT Word FROM table WHERE Word NOT LIKE '%c%';
Vous pouvez également utiliser une expression régulière si votre version de SQL le prend en charge.
Si vous rencontrez des problèmes avec la requête "pas comme", considérez que vous pouvez avoir une valeur null dans la base de données. Dans ce cas, utilisez:
IFNULL(Word, '') NOT LIKE '%something%'