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 :

Condition dans requête SQL selon la valeur d'un champs


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Condition dans requête SQL selon la valeur d'un champs
    Bonjour,

    je poste ce message après de nombreuses recherches sur internet car je ne parviens pas à boucler une petite requête. Je croyais avoir trouvé la solution mais contre toute logique ( du moins le peu dont je peux faire preuve), ça ne fonctionne pas :o

    Cette requête donne le nom et le prénom d'un auteur/compositeur pour tous les albums de musique de la base de donnée. Seulement, je laisse la disposition de ne pas enregistrer de prénom pour un auteur car certain auteurs ont un pseudonyme avec un nom unique. Du coup, il y a dans la base des auteurs qui ont un nom mais pas de prénom ( valeur null ). J'essaie de tester si le prénom est null, auquel cas je n'affiche que le nom. Si le prénom ne vaut pas null, alors je concatène le prénom et le nom. Mais cela ne fonctionne pas :s Les artistes sans prénoms s'appellent "Null" dans la réponse de la requète ^^'

    Voici la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Select al.id_album, al.titre,
    CASE ac.prenom
    WHEN  null THEN ac.nom 
    ELSE  ac.prenom + ' ' + ac.nom
    END  'auteur/compositeur'
       ,al.support from album al
    LEFT JOIN compose_par cp on al.id_album = cp.id_album
    LEFT JOIN auteurCompositeur ac on ac.id_autComp = cp.id_autComp
    En espérant trouver une âme charitable qui pourra m'aider, merci d'avance à tous o/

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    La syntaxe du CASE est incorrect

    essayez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT Al.Id_album,
           Al.Titre,
           CASE
             WHEN Ac.Prenom IS NULL THEN Ac.Nom
             ELSE Ac.Prenom || ' ' || Ac.Nom
           END 'auteur/compositeur',
           Al.Support
      FROM Album Al
        LEFT JOIN Compose_par Cp ON Al.Id_album = Cp.Id_album
        LEFT JOIN Auteurcompositeur Ac ON Ac.Id_autcomp = Cp.Id_autc
    Merci d'ajouter un sur les tags qui vous ont aidé

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par dehorter olivier Voir le message
    La syntaxe du CASE est incorrect
    Un tout grand merci, votre requête fonctionne parfaitement

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

Discussions similaires

  1. [AC-2007] Calcul d’1 champ dans une requête SQL selon différents critères
    Par rch05 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 28/04/2011, 16h44
  2. [VB6]Fonction dans requête SQL Access
    Par jean-pierre96 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/04/2006, 19h44
  3. TEdit.Text dans Requête SQL?!?
    Par zarbydigital dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/10/2005, 09h37
  4. [Visual Web] [SJSC] Concaténation dans requête SQL
    Par Original Prankster dans le forum NetBeans
    Réponses: 22
    Dernier message: 15/08/2005, 14h50
  5. ASP et valeur NULL dans requêtes SQL
    Par chuck_m dans le forum ASP
    Réponses: 7
    Dernier message: 13/08/2004, 11h15

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