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 :

WHERE ou ON avec un IF


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut WHERE ou ON avec un IF
    Bonjour

    Je sais bien que c'est impossible, mais... Comment je peux faire une chose comme:

    SELECT * FROM Any_Table
    INNER JOIN
    Another_Table

    if (Any_Table.Field_B = Condition)
    ON Any_Table.Field_A = Another_Table.ANY_FIELD
    else
    ON Any_Table.Field_A = Another_Table.ANOTHER_FIELD

    Ou la même chose pour le WHERE
    Merci

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Et avec un UNION ça ne serait pas mieux ?

    PS : merci de respecter les règles du forum et d'indiquer votre SGBD et sa version qui peuvent influencer la réponse.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 849
    Points : 52 975
    Points
    52 975
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT * 
    FROM   Any_Table T1 
           INNER JOIN Another_Table T2
                 ON T1.Field_A = 
                    CASE
                       WHEN T1.Field_B =  Condition THEN T2.ANY_FIELD
                       ELSE                              T2.ANOTHER_FIELD
                    END
    A +

Discussions similaires

  1. [PowerShell] [astuce] 'Where' à la 'LINQ' avec PowerShell 2.0
    Par I'm_HERE dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 05/08/2013, 19h48
  2. [ZF 1.10] Clause where qui fonctionne avec type int mais pas avec type String
    Par shadypierre dans le forum Zend_Db
    Réponses: 5
    Dernier message: 30/04/2010, 13h00
  3. [where] requete sql avec OR qui déconne
    Par nannous dans le forum Langage SQL
    Réponses: 1
    Dernier message: 08/01/2007, 12h02
  4. where avec un champ timestamp
    Par DBBB dans le forum SQL
    Réponses: 3
    Dernier message: 26/05/2004, 11h20
  5. probleme avec le caractere 'Z' dans ma clause WHERE
    Par dibox dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/04/2004, 12h21

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