IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

expresson reguliere recherche une valeur non presente


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2006
    Messages : 134
    Points : 81
    Points
    81
    Par défaut expresson reguliere recherche une valeur non presente
    bonjour.

    table test( id , value )

    value = ( 1,2,3,4,6,7,8,9) ne contient pas 5;

    je souhaite faire une requete qui m'indique que test.value ne continet pas 5.

    Comment faire cela en expresson reguliere ?

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 099
    Points : 28 405
    Points
    28 405
    Par défaut
    Citation Envoyé par mikebranque
    bonjour.
    table test( id , value )
    value = ( 1,2,3,4,6,7,8,9) ne contient pas 5;
    je souhaite faire une requete qui m'indique que test.value ne continet pas 5.
    Comment faire cela en expresson reguliere ?
    Pourquoi en expression régulière ?
    Ici, on traite du langage SQL, et les expressions régulières ne font pas (encore) partie du standard.
    D'ailleurs, quelle est ta question exactement ?
    Vérifier que 5 est absent des valeurs de la colonne value dans la table test ?
    Identifier les valeurs manquantes dans la séquence ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2006
    Messages : 134
    Points : 81
    Points
    81
    Par défaut
    je souhaite bien identifier les valeurs manquantes.

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 099
    Points : 28 405
    Points
    28 405
    Par défaut
    Citation Envoyé par mikebranque
    je souhaite bien identifier les valeurs manquantes.
    Sachant qu'elles sont manquantes, tu ne peux pas lister toutes les valeurs absentes de ta séquence.
    En revanche, tu peux identifier les bornes des valeurs manquantes.
    Les valeurs qui n'ont pas de "suivant" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT    value
    FROM    test    AS v
    WHERE    NOT EXISTS
            (    SELECT    1
                FROM    test    AS s
                WHERE    t.value + 1 = s.value    
            )
        AND    v.value    <     (    SELECT    MAX(value)
                            FROM    test
                        )
    ;
    Les valeurs qui n'ont pas de "précédent" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT    value
    FROM    test    AS v
    WHERE    NOT EXISTS
            (    SELECT    1
                FROM    test    AS s
                WHERE    t.value - 1 = s.value    
            )
        AND    v.value    >     (    SELECT    MIN(value)
                            FROM    test
                        )
    ;
    Je te laisse réfléchir sur la suite...
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2006
    Messages : 134
    Points : 81
    Points
    81
    Par défaut
    tres bonne idee mais mes valuers ne sont pas forcement des entire , il peut s'agir de charactere.

    Merci pour la piste

Discussions similaires

  1. recherche de valeur non présentes dans une autre table
    Par omelhor dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/02/2015, 10h51
  2. Réponses: 2
    Dernier message: 27/07/2011, 12h16
  3. Sortir d'une recherche quand valeur non trouvée
    Par Misha dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/10/2008, 12h43
  4. Rechercher une valeur dans un tableau
    Par pafi76 dans le forum Access
    Réponses: 2
    Dernier message: 29/06/2006, 14h23
  5. Réponses: 7
    Dernier message: 26/10/2004, 11h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo