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

Requêtes et SQL. Discussion :

requete pour trouver le dernier non null?


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 142
    Points : 83
    Points
    83
    Par défaut requete pour trouver le dernier non null?
    Bonjour,

    Je chercher à obtenir la dernière valeur non null.
    Par exemple sur cette table "Ecritures"

    NumUniq Libelle
    1 xx
    2
    3
    4 yyy
    5
    6 zz

    Je souhaiterais avoir comme résultat

    1 xx
    2 xx
    3 xx
    4 yyy
    5 yyy
    6 zz

    Je parviens à obtenir le résultat précédent avec cette requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (SELECT TOP 1 F1.Libelle FROM Ecritures as F1 WHERE F1.NumUniq < Ecritures.NumUniq ORDER BY F1.NumUniq DESC ) AS Libelle
    J'essaye d'introduire la condition non nulle avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (SELECT TOP 1 F1.Libelle FROM Ecritures as F1 WHERE ( Not(IsNull(F1.Libelle)  F1.NumUniq < Ecritures.NumUniq) ORDER BY F1.NumUniq DESC ) AS Libelle
    mais sans résultat.

    Est-ce que quelqu'un aurait une idée?

    Merci pour vos réponses.

  2. #2
    Membre expérimenté

    Homme Profil pro
    linux, pascal, HTML
    Inscrit en
    Mars 2002
    Messages
    649
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : linux, pascal, HTML
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2002
    Messages : 649
    Points : 1 493
    Points
    1 493
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ver_for Voir le message
    Bonjour,



    J'essaye d'introduire la condition non nulle avec

    SELECT TOP 1 F1.Libelle FROM Ecritures as F1 WHERE ( Not(IsNull(F1.Libelle) F1.NumUniq < Ecritures.NumUniq) ORDER BY F1.NumUniq DESC ) AS Libelle
    Il ne manquerait pas un AND
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TOP 1 F1.Libelle FROM Ecritures as F1 WHERE (  Not(IsNull(F1.Libelle) AND  F1.NumUniq < Ecritures.NumUniq) ORDER BY  F1.NumUniq DESC ) AS Libelle

  3. #3
    Membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juillet 2017
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juillet 2017
    Messages : 49
    Points : 40
    Points
    40
    Par défaut
    Il y avait effectivement des erreurs.

    Avec cette requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TOP 1 F1.Libelle FROM Ecritures as F1 WHERE ( Not(IsNull(F1.Libelle)) AND F1.NumUniq < Ecritures.NumUniq) ORDER BY F1.NumUniq DESC ) AS Libelle
    Je n'obtiens que la valeur labelle précédente.

  4. #4
    Membre expérimenté

    Homme Profil pro
    linux, pascal, HTML
    Inscrit en
    Mars 2002
    Messages
    649
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : linux, pascal, HTML
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2002
    Messages : 649
    Points : 1 493
    Points
    1 493
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ver_for2;9427634
    ....ORDER BY F1.NumUniq DESC ) AS Libelle[/CODE

    Je n'obtiens que la valeur labelle précédente.
    Ce champ F1.NumUniq n'est pas dans la liste ce qui peut expliquer qu'on ne peut pas l'ordonner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TOP 1 F1.Libelle,F1.NumUniq FROM Ecritures as F1 WHERE (  Not(IsNull(F1.Libelle) AND  F1.NumUniq < Ecritures.NumUniq) ORDER BY  F1.NumUniq DESC ) AS Libelle

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    à tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT numuniq, iif(libelle is null, (select top 1 libelle from ecritures where numuniq<t.numuniq and libelle is not null order by numuniq desc),libelle) as MonLibelle
    FROM Ecritures as t

Discussions similaires

  1. requete pour trouver un résultat strictement égal
    Par yasoft dans le forum Requêtes
    Réponses: 4
    Dernier message: 09/09/2009, 10h48
  2. Requete pour trouver des trous dans une suite
    Par Ben_Le_Cool dans le forum Langage SQL
    Réponses: 11
    Dernier message: 28/08/2009, 18h17
  3. Réponses: 0
    Dernier message: 02/06/2009, 15h03
  4. Requête pour trouver les derniers avec condition
    Par Philippe608 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 17/01/2008, 21h17
  5. Requete pour tous les jours non férié
    Par etiennegaloup dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/08/2006, 14h25

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