Simplifier requête SQL avec plusieurs conditi
Raphy59
-
P@t@ch0n Messages postés 603 Statut Membre -
P@t@ch0n Messages postés 603 Statut Membre -
Bonjour,
J'ai une requête SQL qui ressortirait plusieurs résultat, sauf certaines adresse IP
Ma requête SQL ressemblerai donc à ca
Le problème est qu'il risque d'en avoir un certain nombre...
Quelqu'un sais si il existe une requête plus simple, du style
Merci :)
J'ai une requête SQL qui ressortirait plusieurs résultat, sauf certaines adresse IP
Ma requête SQL ressemblerai donc à ca
SELECT * FROM table1 WHERE ip!=15236548 OR ip!=1552156 OR ip!=86475025 OR ip!=53547895 OR ip!=384864864 OR ip!=34884354 OR ip!=65894132 OR ip!=547894556
Le problème est qu'il risque d'en avoir un certain nombre...
Quelqu'un sais si il existe une requête plus simple, du style
SELECT * FROM table1 WHERE ip!=( "15236548" OR "12546484" OR "343846846" OR "12145457" OR "26615118" OR "518543535" )
Merci :)
A voir également:
- Simplifier requête SQL avec plusieurs conditi
- Logiciel sql - Télécharger - Bases de données
- Mise en forme conditionnelle excel plusieurs conditions - Guide
- Excel reporter des données sur une autre feuille avec conditions ✓ - Forum Excel
- Jointure sql ✓ - Forum MySQL
- Sql (+) - Forum Programmation
4 réponses
Salut,
Ce que tu peux faire est une table où tu enregistres les IP à exclure. Ensuite, tu peux utiliser la requete suivante :
SELECT *
FROM table1 t1
WHERE t1.ip NOT IN (SELECT t2.ip FROM table2 t2);
2eme solution : ajouter un champ exclus à valeur vrai ou faux dans ta table t1. Tu mets à vrai toutes les ip à exclure et tu utilises :
SELECT *
FROM table1
WHERE exclus = false
J'espère que cela répondra à ta problématique.
Cdlt
IC
Ce que tu peux faire est une table où tu enregistres les IP à exclure. Ensuite, tu peux utiliser la requete suivante :
SELECT *
FROM table1 t1
WHERE t1.ip NOT IN (SELECT t2.ip FROM table2 t2);
2eme solution : ajouter un champ exclus à valeur vrai ou faux dans ta table t1. Tu mets à vrai toutes les ip à exclure et tu utilises :
SELECT *
FROM table1
WHERE exclus = false
J'espère que cela répondra à ta problématique.
Cdlt
IC
Merci de ta réponse je n'avais pas vue le problème sous cet angle, je vais surement utiliser la première suggestion.
Mais par curiosité, si quelqu'un serai me dire si il est possible de faire ce que je proposais dans mon premier sujet, ça serait bon à savoir :)
Mais par curiosité, si quelqu'un serai me dire si il est possible de faire ce que je proposais dans mon premier sujet, ça serait bon à savoir :)
Salut,
Je pense que cela va dépendre de la base que tu utilises et de ce qu'elle accepte comme instruction. Je sais que quand tu crées une table, tu peux définir des contraintes de champ dont la valeur doit appartenir par exemple à liste de valeur et tu utilises IN ("a","b","c") par exemple. Mais je ne sais pas si cela s'applique à une requête. Pour en avoir le coeur net, le mieux est de tester.
Cdlt
IC
Je pense que cela va dépendre de la base que tu utilises et de ce qu'elle accepte comme instruction. Je sais que quand tu crées une table, tu peux définir des contraintes de champ dont la valeur doit appartenir par exemple à liste de valeur et tu utilises IN ("a","b","c") par exemple. Mais je ne sais pas si cela s'applique à une requête. Pour en avoir le coeur net, le mieux est de tester.
Cdlt
IC
« Mais par curiosité, si quelqu'un serai me dire si il est possible de faire ce que je proposais dans mon premier sujet, ça serait bon à savoir :) »
Bah oui, tu fais comme incaout l'a indiqué avec le IN
Bah oui, tu fais comme incaout l'a indiqué avec le IN
SELECT les_colonnes FROM table1 WHERE ip NOT IN(15236548, 12546484, 343846846, 12145457, 26615118, 518543535);