LibreOffice Base : NOT LIKE
Résolu/Fermé
CCC94
Messages postés
13
Date d'inscription
mardi 12 mars 2019
Statut
Membre
Dernière intervention
4 mars 2020
-
Modifié le 12 mars 2019 à 08:41
CCC94 Messages postés 13 Date d'inscription mardi 12 mars 2019 Statut Membre Dernière intervention 4 mars 2020 - 13 mars 2019 à 23:13
CCC94 Messages postés 13 Date d'inscription mardi 12 mars 2019 Statut Membre Dernière intervention 4 mars 2020 - 13 mars 2019 à 23:13
Bonjour.
j'ai une base office. J'ai fais une requête sur le le nom 'FESTIVAL' (décliné sous 3 casse possibles : 'Festival' ou 'festival') DAns 2 champ possible "NOM" et "Fonction" et ça fonctionne. le code SQL est :
SELECT "ID" "ID", "NOM" "NOM", "Fonction" "Fonction" FROM "T-Grand COLLER" WHERE "NOM" LIKE '%FESTIVAL%' OR "NOM" LIKE '%Festival%' OR "NOM" LIKE '%festival%' OR "Fonction" LIKE '%FESTIVAL%' OR "Fonction" LIKE '%Festival%' OR "Fonction" LIKE '%festival%'
Je souhaite faire la requête inverse, trouver les "NOM" dans lesquels n’existe pas le mot Festival (toujours sous les 3 casses) dans les colonnes "NOM" et "Fonction. J'ai tout essayé NO LIKE, NOT IN rien ne marche.
Je suis débutant en SQL; ça ne me parait pas trop compliqué mais je suis depuis plusieurs jours dessus sans rien trouver .... Au secours.... Merci de votre aide....
j'ai une base office. J'ai fais une requête sur le le nom 'FESTIVAL' (décliné sous 3 casse possibles : 'Festival' ou 'festival') DAns 2 champ possible "NOM" et "Fonction" et ça fonctionne. le code SQL est :
SELECT "ID" "ID", "NOM" "NOM", "Fonction" "Fonction" FROM "T-Grand COLLER" WHERE "NOM" LIKE '%FESTIVAL%' OR "NOM" LIKE '%Festival%' OR "NOM" LIKE '%festival%' OR "Fonction" LIKE '%FESTIVAL%' OR "Fonction" LIKE '%Festival%' OR "Fonction" LIKE '%festival%'
Je souhaite faire la requête inverse, trouver les "NOM" dans lesquels n’existe pas le mot Festival (toujours sous les 3 casses) dans les colonnes "NOM" et "Fonction. J'ai tout essayé NO LIKE, NOT IN rien ne marche.
Je suis débutant en SQL; ça ne me parait pas trop compliqué mais je suis depuis plusieurs jours dessus sans rien trouver .... Au secours.... Merci de votre aide....
A voir également:
- LibreOffice Base : NOT LIKE
- Base de registre - Guide
- Télécharger libreoffice - Télécharger - Suite bureautique
- Formules excel de base - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- Libreoffice 24.2 - Accueil - Bureautique
3 réponses
Utilisateur anonyme
13 mars 2019 à 09:58
13 mars 2019 à 09:58
Bonjour
Si la nouvelle condition que tu cherches est bien l'inverse de la précédente, au lieu d'utiliser NOT LIKE, le plus logique me semble d'appliquer l'opérateur NOT (tout court) à l'ensemble de ta condition :
Ce qui devrait donner le même résultat que celui de Xavier, mais la démarche me semble plus simple.
Au passage, si tu veux tester exactement une valeur, n'utilise pas LIKE et surtout pas de % dans le LIKE, mais compare simplement avec =.
Et si tu veux tester d'un seul coup toutes les possibilités de casse, convertit tout en majuscules avec UCASE, tu auras un seul test à faire (par champ).
Enfin, il est inutile de mettre des alias égaux aux noms des champs ( "ID" "ID", "NOM" "NOM" ...), on ne voit pas ce que ça apporte.
Si la nouvelle condition que tu cherches est bien l'inverse de la précédente, au lieu d'utiliser NOT LIKE, le plus logique me semble d'appliquer l'opérateur NOT (tout court) à l'ensemble de ta condition :
SELECT "ID" "ID", "NOM" "NOM", "Fonction" "Fonction" FROM "T-Grand COLLER" WHERE NOT ("NOM" LIKE '%FESTIVAL%' OR "NOM" LIKE '%Festival%' OR "NOM" LIKE '%festival%' OR "Fonction" LIKE '%FESTIVAL%' OR "Fonction" LIKE '%Festival%' OR "Fonction" LIKE '%festival%')
Ce qui devrait donner le même résultat que celui de Xavier, mais la démarche me semble plus simple.
Au passage, si tu veux tester exactement une valeur, n'utilise pas LIKE et surtout pas de % dans le LIKE, mais compare simplement avec =.
Et si tu veux tester d'un seul coup toutes les possibilités de casse, convertit tout en majuscules avec UCASE, tu auras un seul test à faire (par champ).
Enfin, il est inutile de mettre des alias égaux aux noms des champs ( "ID" "ID", "NOM" "NOM" ...), on ne voit pas ce que ça apporte.
SELECT "ID", "NOM", "Fonction" FROM "T-Grand COLLER" WHERE NOT ( UCASE("NOM") = 'FESTIVAL' OR UCASE("Fonction") = 'FESTIVAL')
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
12 mars 2019 à 09:44
12 mars 2019 à 09:44
Bonjour,
« Ça ne marche pas » n’est pas très clair. Tu as un message d’erreur ? Aucun résultat ? Un résultat différent de ce que tu espérais ?
Xavier
« Ça ne marche pas » n’est pas très clair. Tu as un message d’erreur ? Aucun résultat ? Un résultat différent de ce que tu espérais ?
Xavier
CCC94
Messages postés
13
Date d'inscription
mardi 12 mars 2019
Statut
Membre
Dernière intervention
4 mars 2020
Modifié le 12 mars 2019 à 17:58
Modifié le 12 mars 2019 à 17:58
Bonjour,
Le résultat recherché est d'avoir les fiches dans lesquels le mot 'Festival' (écrit festival ou Festival ou FESTIVAL) est absent de la colonne "NOM" et de la colonne "Fonction". Dans tout ce que j'ai fais jusqu’à maintenant, j’obtiens des fiches dans lesquels on retrouve le mot 'festival' dans la colonne "NOM" ou/et la colonne "Fonction" Merci de votre aide, car je suis dessus depuis plusieurs jours.....
Le résultat recherché est d'avoir les fiches dans lesquels le mot 'Festival' (écrit festival ou Festival ou FESTIVAL) est absent de la colonne "NOM" et de la colonne "Fonction". Dans tout ce que j'ai fais jusqu’à maintenant, j’obtiens des fiches dans lesquels on retrouve le mot 'festival' dans la colonne "NOM" ou/et la colonne "Fonction" Merci de votre aide, car je suis dessus depuis plusieurs jours.....
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
Modifié le 13 mars 2019 à 09:05
Modifié le 13 mars 2019 à 09:05
Essaie quelque chose comme ça :
SELECT "ID" "ID", "NOM" "NOM", "Fonction" "Fonction" FROM "T-Grand COLLER" WHERE "NOM" NOT LIKE '%FESTIVAL%' AND "NOM" NOT LIKE '%Festival%' AND "NOM" NOT LIKE '%festival%' AND "Fonction" NOT LIKE '%FESTIVAL%' AND "Fonction" NOT LIKE '%Festival%' AND "Fonction" NOT LIKE '%festival%'
CCC94
Messages postés
13
Date d'inscription
mardi 12 mars 2019
Statut
Membre
Dernière intervention
4 mars 2020
13 mars 2019 à 21:02
13 mars 2019 à 21:02
Merciiiiiii... ça marche..... , J'ai remplacé les AND par des OR et j'ai bien mes fiches sans les divers Festival.... Merci beaucoup.... je ne m'en sortais pas.... très belle soirée.
13 mars 2019 à 21:11
13 mars 2019 à 21:52
Si c'est le cas, il faut utiliser le LIKE, mais ça n'empêche pas d'utiliser le UCASE :
Bonne soirée
13 mars 2019 à 23:13