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 :

Requête SQL masquer une colonne


Sujet :

SQL Oracle

  1. #1
    Candidat au Club
    Homme Profil pro
    CDG
    Inscrit en
    Avril 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : CDG
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2016
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Requête SQL masquer une colonne
    Bonjour à tous,

    Je viens poser ma question ici car après plusieurs heures de recherche, je ne trouve toujours pas de solution à mon problème (bien que je sois déjà parvenu à optimiser mon résultat..)

    Voici ma demande: Je travail sur un ERP, et j’essaie d'élaborer une requête SQL qui me permet de faire apparaître selon un critère deux affichages différents.

    Dans un cas je veux pouvoir avoir une liste de codes et des comptes comptables qui ont été alimentés apparaissent (donc deux colonnes d'informations). Et dans l'autre cas, uniquement des codes et non les comptes (une seule colonne)

    Ci-joint un exemple de construction de mes deux tables:

    C. Codes
    16TTTO
    16LLLO
    16AAAO

    CA. Comptes
    606
    607
    608
    Un exemple d'alimentation des données et de ce que je voudrai obtenir avec ma requête:

    CAS 1

    Code Compte
    16TTTO 606
    16TTTO 607
    16LLLO 606
    16LLLO 607
    16LLLO 608
    16AAAO 606

    CAS 2

    CODE
    16TTTO
    16LLLO
    16AAAO

    J'ai un critère que je peux rentrer, si je mets "Oui", j'ai le détails complet, et si je mets "Non", j'obtiens l'état simplifié cas 2.

    Ma question étant est-ce possible d'avoir ce résultat sans utiliser 2 requêtes différentes?

    Pour le moment j'ai réussi à obtenir un compromis entre les deux, c'est à dire que j'arrive à avoir le résultat du CAS 1 sans encombre, et dans le cas 2 j'obtiens ça:

    CAS2
    Code Compte
    16TTTO Consolidé
    16LLLO Consolidé
    16AAAO Consolidé

    Voici le code que j'utilise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT C.Codes, (CASE when %1%='1' then 'Consolidé' else CA.Comptescomptable)
    FROM CODES C, COMPTA CA
    GROUP BY C.Codes, (CASE when %1%='1' then 'Consolidé' else CA.Comptescomptable)
    Le %1% correspond au critère que l'on peut rentrer. Le mot "Consolidé" est utilisé ici pour faire un regroupement par la suite à l'aide du GROUP BY et du coup avoir dans le CAS 2 uniquement 3 lignes de résultat.

    Donc ce que je souhaiterai si c'est possible, c'est bien d'avoir une seule colonne avec les codes et masquer la colonne compte lorsque je remplis mon critère d'exclusion dans le cas 2.

    Je vous remercie par avance de vos retours sur ce sujet,

    Cordialement Fritou

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    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 080
    Points : 30 803
    Points
    30 803
    Par défaut
    C'est à l'application qui émet la requête et récupère son résultat de s'occuper de la mise en forme.
    Une requête ne peut retourner un nombre de colonne variable.
    Ta solution semble donc la plus appropriée.
    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
    Candidat au Club
    Homme Profil pro
    CDG
    Inscrit en
    Avril 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : CDG
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2016
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Bonjour al1_24,

    Je te remercie pour ta réponse très rapide et surtout très claire.
    Je pensais effectivement que ma demande n'était pas possible .

    Je vais écouter ton avis et conservé ce que j'avais fait jusque là. Peux-tu ajouter dans le titre de mon sujet [Résolu], car je ne vois pas comment le modifier?
    Merci encore pour ton message.

    Cordialement, Fritou

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    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 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Citation Envoyé par fritounette Voir le message
    Peux-tu ajouter dans le titre de mon sujet [Résolu], car je ne vois pas comment le modifier?
    Regarde après le dernier message de la discussion... il suffit que tu cliques sur le bouton
    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.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 31/10/2007, 20h27
  2. [Tableaux] affichage d'une requete SQL sur 2 colonnes
    Par tondeuz dans le forum Langage
    Réponses: 5
    Dernier message: 01/06/2007, 15h47
  3. [SQL] Résultat d'une requete SQL en 2 colonnes
    Par apt dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 01/02/2007, 02h24
  4. Requete SQL permettent une mise a jour dans la base
    Par themagaly dans le forum Bases de données
    Réponses: 2
    Dernier message: 04/06/2004, 09h32

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