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

Requêtes et SQL. Discussion :

Requete SQL avec condition [AC-2007]


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2012
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 5
    Par défaut Requete SQL avec condition
    Bonjour a tous,
    Petite requete simple mais je ne m'em sors pas trop...y'a une logique qui m'échappe.

    Je voudrais avec la syntaxe pour ce type de requête (avec un select * from ...Left JOIN ON)

    SI variable de table a = variable de table b
    effectuer la jointure selon les critères suivant......(bla bla bla)
    Mais SI variable de la table b is Null
    alors effectuer la jointure selon les critères suivants.....(bla bla bla)

    En fait pour être plus pragmatique :

    J'ai 2 tables avec dans la table 1 : A1 B1 C1 et dans ma table 2 : A2 B2 C2
    Je veux joindre ma table A1 a A2, mais la variable A2 n'est pas remplie de façon systématique
    donc je voudrais faire jointure quand A1 = A2 and B1 = B2 and C1=C2 mais aussi lorsque A2 n'a pas de valeur (NULL) faire la jointure sur uniquement B1=B2 et C1=C2.

    si variable A2 existe prendre variable A1 si elle n'existe pas ne prendre que les variables Bx et Cx.

    j'espère avoir été le plus clair possible...ce que je ne pense pas.

    Merci a vous d'avance///

  2. #2
    Membre Expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Billets dans le blog
    8
    Par défaut
    Salut
    Je pense qu'il serait mieux de faire ça au niveau de WHERE en enlevant la jointure...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ... FROM T1, T2 WHERE (A1=A2 AND B1=B2 AND C1=C2) OR (A2 IS NULL AND B1=B2 AND C1=C2) 
    UNION
    SELECT ... FROM  T1 WHERE A1 & B1 & C1 NOT IN (SELECT A2 & B2 & C2 FROM T2)
    @+

  3. #3
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Citation Envoyé par alassanediakite Voir le message
    Salut
    Je pense qu'il serait mieux de faire ça au niveau de WHERE en enlevant la jointure...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ... FROM T1, T2 WHERE (A1=A2 AND B1=B2 AND C1=C2) OR (A2 IS NULL AND B1=B2 AND C1=C2) 
    UNION
    SELECT ... FROM  T1 WHERE A1 & B1 & C1 NOT IN (SELECT A2 & B2 & C2 FROM T2)
    @+
    Houllala !!!!!!!!!

    @alassanediakite, Jointures, Jointures.....

    Bonne journée,
    Cordialement
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2012
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 5
    Par défaut
    Bonjour,

    Merci pour cette réponse mais je n'arrive pas a mes fins avec la solution proposée. Chtulus...Une idée peut-être (surement)..

    Merci a vous

  5. #5
    Membre Expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Billets dans le blog
    8
    Par défaut
    Salut
    En pièce jointe mon exemple.
    S'il existe une solution en jointure je la mets dans mes notes sur SQL.
    @+
    Fichiers attachés Fichiers attachés
    • Type de fichier : zip abc.zip (16,5 Ko, 141 affichages)

  6. #6
    Membre Expert

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Par défaut
    bonjour,

    sauf erreur de compréhension du problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [FONT=Courier New]SELECT t1.*,
    t2.*
    FROM t1
    INNER JOIN t2
    ON ( t1.b1 = t2.b2 )
    AND ( t1.c1 = t2.c2 )
    WHERE ( t2.a2 IS NULL
    OR t2.a2 = t1.a1 )[/FONT]
    @+

    Philippe

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

Discussions similaires

  1. [AC-2010] requete sql avec condition de dates
    Par Gerard.chery dans le forum VBA Access
    Réponses: 8
    Dernier message: 03/02/2014, 15h44
  2. [MySQL] Requete SQL avec 2 tables et condition de date+somme
    Par lounou dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 15/11/2012, 17h43
  3. requete sql avec une condition dans une zone de liste
    Par khilim1 dans le forum VBA Access
    Réponses: 2
    Dernier message: 30/12/2008, 12h00
  4. [Access] requete sql avec condition sur date
    Par qeja dans le forum Langage SQL
    Réponses: 4
    Dernier message: 25/03/2006, 23h54
  5. [JDBC] retour de requete sql avec valeur NULL
    Par maxxou dans le forum JDBC
    Réponses: 3
    Dernier message: 13/09/2004, 14h40

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