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

VB.NET Discussion :

comment faire une jointure externe multiple en vb.net dans VS2010 ?


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut comment faire une jointure externe multiple en vb.net dans VS2010 ?
    Bonjour,
    Je devloppe une application web pour ma société en vb.net dans Visual Studio 2010. J'utilise des fichiers .CSV que je lie pour afficher des informations. A certains endroits, je dois joindre plusieurs fichiers et je veux récupérer toutes les lignes même celles pour lesquelles la jointure donne une valeur nulle. J'essaye donc d'utiliser une jointure externe. Le problème est que si je fais une jointure simple, cela fonctionne. Voici la commande que je passe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim cmd as string 
    cmd = "select a3.[USAGE] , a0.[cc] as cc0 from t1_4.csv a3 LEFT JOIN t1_1.csv a0 ON a3.[USAGE]=a0.[USAGE] where a0.[REGION2] ='ÿÿÿ' and a3.[REGION2] ='ÿÿÿ' and a0.[GARANTIE]='Bris de glace' and a3.[GARANTIE]='ÿÿÿ' order by a3.[USAGE]  "
    Par contre, si j'essaye de faire une jointure externe sur plusieurs fichiers, cela ne fonctionne pas. Voici la commande que je passe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim cmd as string
    cmd = "select a3.[USAGE] , a0.[cc] as cc0 from t1_4.csv a3 LEFT JOIN t1_1.csv a0 ON a3.[USAGE]=a0.[USAGE] LEFT JOIN t1_2.csv a1 ON a3.[USAGE]=a1.[USAGE] where a0.[REGION2] ='ÿÿÿ' and a1.[REGION2] ='ÿÿÿ' and a3.[REGION2] ='ÿÿÿ' and a0.[GARANTIE]='Bris de glace' and a1.[GARANTIE]='Dommages' and a3.[GARANTIE]='ÿÿÿ' order by a3.[USAGE]  "
    Y-a-il une erreur dans mon code ? Ou faut-il faire la jointure multiple autrement ??

    Merci de vos réponses.
    Karine

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Points : 1 327
    Points
    1 327
    Par défaut
    Bonjour,

    j'ai peut-être une piste pour toi :

    Quand tu fais ta jointure externe tout doit être OK je suppose (à tester)
    Ensuite tu ajoutes les conditions dans le where, sauf que si tu as "null" et que tu dis dans ton where que tu veux les "Bris de glace", forcément l'enregistrement sera ignoré.
    Tu peux dans ce cas inclure tes conditions dans la jointure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    from table1 LEFT join table2 on ( condition1 = condition2 AND condition3 = condition4 AND  etc...)
    Le Porc est un loup pour le Porc.

  3. #3
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    C'est un problème purement SQL qui n'a rien à voir avec VB.Net

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Merci à toi asmduty.
    Effectivement c'était un problème de condition mal posée et de parentèses mal mises.
    J'ai résolu mon problème.
    En fait, mes conditions WHERE annulaient ma jointure externe.
    Donc comme l'a très amicalement fait remarqué Bluedeep (sic!) c'était un problème de sql.
    Il fallait que je mette :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim cmd as string
    cmd = "select a3.[USAGE] , a0.[cc] as cc0 from ((t1_4.csv a3 LEFT JOIN t1_1.csv a0 ON a3.[USAGE]=a0.[USAGE]) LEFT JOIN t1_2.csv a1 ON a3.[USAGE]=a1.[USAGE]) where order by a3.[USAGE]  "

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

Discussions similaires

  1. Comment faire une jointure externe en Hibernate ?
    Par Battosaiii dans le forum Hibernate
    Réponses: 4
    Dernier message: 01/09/2011, 14h37
  2. Comment faire une jointure sélective
    Par mobscene dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 26/12/2006, 07h44
  3. Réponses: 1
    Dernier message: 09/11/2006, 12h08
  4. Comment faire une jointure ?
    Par Terminator dans le forum Langage SQL
    Réponses: 12
    Dernier message: 16/10/2005, 13h26
  5. [CR9] faire une Jointure externe
    Par coldec dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 28/06/2005, 12h10

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