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 :

À la recherche d'une requête


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 250
    Points : 75
    Points
    75
    Par défaut À la recherche d'une requête
    Bonjour à tous,

    Je suis complètement perdu, et pas pro du tout en SQL.

    Je cherche à faire une requête permettant de récupérer une colonne, en appliquant la soustraction d'une valeur en fonction de la colonne ayant une valeur.
    J'ai 5 colonnes, une seule est renseignée à chaque ligne, mais sans cohérence. En fonction de la colonne renseignée, j'applique une soustraction.

    Exemple :
    - colonne 1 renseignée : on récupère valeurColonne1-10 as maValeur
    - colonne 2 renseignée : on récupère valeurColonne2-20 as maValeur
    etc...

    Connaitriez vous une requête suceptible de faire ceci ? Ou est-ce impossible ?

    Merci d'avance

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 115
    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 115
    Points : 28 480
    Points
    28 480
    Par défaut
    Comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT  CASE WHEN colonne1 IS NOT NULL THEN colonne1 - 10
                 WHEN colonne2 IS NOT NULL THEN colonne2 - 20
                 ...
            END
    FROM    ma_table
    Mais la structure de ta table est sans doute mal conçue.
    Il vaudrait mieux avoir (numColonne, valColonne) ce qui éviterait d'avoir des tas de colonnes vides (ce qu'on appelle une table creuse)

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 250
    Points : 75
    Points
    75
    Par défaut
    C'est génial ça fonctionne, j'était justement entrain de me pencher sur la structure IF. Mais ça c'est parfait

    Effectivement la table est plutôt mal conçue, mais on est "obligé" de faire ça car il arrivera qu'on ai plusieurs colonnes de renseignées en même temps, et on aura un autre traitement pour ça.

    Merci beaucoup.

  4. #4
    Membre chevronné
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2012
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2012
    Messages : 652
    Points : 1 878
    Points
    1 878
    Par défaut
    Une variante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT COALESCE (colonne1-10, colonne2-20, colonne3-30) 
    FROM ma_table
    Le résultat retourné sera la première colonne non NULL (Comme avec le CASE)

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 250
    Points : 75
    Points
    75
    Par défaut
    Merci de ta contribution

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

Discussions similaires

  1. effectuer une recherche sur une requête en windev
    Par tytyone554 dans le forum Développement
    Réponses: 0
    Dernier message: 09/10/2009, 17h48
  2. [Joomla!] A la recherche d'une requête qui alimente View.feed.php
    Par Potus dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 07/07/2009, 09h59
  3. Recherche via une requête
    Par Maque dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 04/07/2008, 15h07
  4. Recherche dans une requête
    Par infinity_usb dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 30/11/2007, 05h25
  5. [SQL] Recherche d'une requête SQL
    Par kilkikou dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/06/2006, 17h00

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