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

SQL Oracle Discussion :

Problème Affichage seulement si une valeur est renseigné [11g]


Sujet :

SQL Oracle

  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut Problème Affichage seulement si une valeur est renseigné
    Bonjour,

    dans l'une de mes grosse requête, je fais un select en fonction d'un code, exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    select identifiant, 
    (
    NVL((select t2.libelle from codification t2 
    where t2.valeur=mafonction(ta.x503_id, -1, 'D120')
    and idref=48),' ')
    ) as code1,
    (
    NVL((select t2.libelle from codification t2 
    where t2.valeur=mafonction(ta.x503_id, -1, 'D110')
    and idref=48),' ')
    ) as code2
    ....
    ....
    from 
    ........
     
    select
    or j'ai environ 230 codes à reprendre, exemple:
    D110, D120, D130 etc...
    Après discussion, nous avons réduit cette liste à une centaine et le logiciel chaque code contient la valeur "oui" ou rien.

    Pour éviter lors du publipostage d'avoir une trop long liste, j'aimerais faire la chose suivante :
    sachant qu'on a les resultat suivant :

    d120 : oui
    d100: oui
    d130: oui
    d140:
    d150:
    d160:

    si je fais ma requête, j'aimerais avoir un champ avec :
    "d120 / d100 / d130" car dans le résultat de ma requête j'ai un oui qui ressort.

    J'ai tenté avec un case et un LISTAGG mais j'ai du mal à comprendre.
    dans l'image joint, j'ai séparé les zones par des "/", et chaque zones correspond à 1001,1002,1003,1004,1005,1006,2001 et comme j'ai mis une croix là où dans la zone c'est égale à "oui", on affiche que 1003,1005,2001 dans le résultat de la requête.

    Mon but étant que dans ma requête, je fais mon select avec mes 100 champs, mais dans le résultat de la requête, j'ai une colonne par exemple, qui dit :
    1001 / 1003 / 1005 / 2001

    JE pense que c'est un mixte entre le case et le listagg est ce exact?

    Merci pour votre aide.
    Images attachées Images attachées  

  2. #2
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    Lors de mes recherches , je me suis posé la question, cela doit être une question de condition et concatenation, non?

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 138
    Points : 1 918
    Points
    1 918
    Par défaut
    Bonjour,

    LISTAGG ignore les valeurs null, donc si tu ne veux pas afficher les valeurs pour lesquelles tu n'as pas oui, alors utilises un CASE en effet :
    case when d120 = 'oui' then null else libelle end...

  4. #4
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    Le sujet n'étant plus d'actualité, je résous le sujet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/04/2006, 09h39
  2. Réponses: 2
    Dernier message: 13/03/2006, 11h47
  3. vérifier qu'une valeur est numérique
    Par kopofb dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/11/2005, 14h02
  4. Calcul Stock Actuel mm lorsqu'une valeur est null
    Par priest69 dans le forum Access
    Réponses: 3
    Dernier message: 12/09/2005, 18h58
  5. Réponses: 2
    Dernier message: 17/08/2005, 14h40

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