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 :

Requête avec une condition, est-ce possible ?


Sujet :

Langage SQL

  1. #1
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut Requête avec une condition, est-ce possible ?
    Bonjour à tous,

    Je souhaiterais effectuer une requête dont le résultat est conditionné selon le premier résultat.
    Plutôt qu'un long discours :

    Table 1
    - id
    - typeTable2

    Table 2
    - id
    - titre

    Table 3
    - id
    - titre

    Niveau algo :
    Si typeTable2 == 3 alors on récupère le titre correspondant à la table 3
    sinon c'est le titre de la table 2

    Quelqu'un aurait-il une idée ?

    merci ^^

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Je pressens une mauvaise modélisation quand même.
    Néanmoins, essayez ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select t1.id, t1.typeTable2,
           coalesce(t3.titre, t2.titre) as titre
      from Table1 t1
           left outer join Table3 t3
             on t1.typeTable2 = 3
           cross join Table2 t2;
    Dès que vous aurez plus d'une ligne dans les tables deux et trois, ça va devenir n'importe quoi.

  3. #3
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    ha ouep pas mal je ne connaissais pas cette fonctionnalité, j'étais parti sur du CASE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT ai.type_audit_id,
           AT.titre as TitreOri,
           CASE AT.id
             WHEN 2
             THEN PH.titreEn 
             ELSE AT.titre
           END
      FROM AUDITAQ_RAPPORT_AUDIT_INTERNE AI
           left join AUDITAQ_TYPE_AUDIT_INTERNE AT
             ON ai.type_audit_id = at.id
           left join AUDITAQ_PHASES PH 
             on AI.phase_id = PH.id;
    Je vais au final devoir continuer sur le case car je vais devoir taper sur plusieurs tables et les valeurs ne sont jamais nulles mais conditionnées

    Merci de ton aide.

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

Discussions similaires

  1. [AC-2007] Incrémenter dans une requête avec une condition
    Par neiluj26 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 02/11/2012, 11h38
  2. [PDO] Générer une requête avec une condition IN
    Par comode dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 11/05/2009, 22h17
  3. Réponses: 7
    Dernier message: 17/07/2008, 09h32
  4. utilisation d'une API java avec du C#, est ce possible
    Par iamspacy dans le forum C++/CLI
    Réponses: 1
    Dernier message: 29/05/2007, 08h00
  5. Problème de requête avec une condition IN
    Par sorcer1 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 20/10/2005, 11h56

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