1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : juillet 2017
    Messages : 3
    Points : 1
    Points
    1

    Par défaut Jointure entre deux MySQL avec plusieurs conditions

    Bonjour à tous,

    Je ne sais pas si le titre de ce topic est vraiment bon mais j'ai du mal à donner un nom problème. Justement, mon problème le voilà, je possède deux tables provenant de MySQL l'une possédant les attributs car_wash, car_wash_price, delivery, delivery_price, replacement_transport et replacement_transport_price ainsi qu'un id pour cette table et d'autres attributs qui ne nous intéresse pas ici. L'autre table quand à elle possède les attributs cités précédemment avec un id différent. L'idée étant de mettre toutes les options dans une table différents, la deuxième, que j'ai appelé Feature. Et de remplacer tous ces attributs dans la première table, que j'ai appelé Damage, par un seul attribut, id. Dans un premier temps j'aimerais que Talend me joigne ces deux tables et me retourne une table composé de deux colonnes avec les id respectifs des deux tables. Cependant, je n'y arrive pas. En effet je n'arrive pas à faire en sorte que mon tMap prenne toutes les options de Damage et les fasse correspondre avec celles de Feature, pour qu'elle puisse après me retourne l'id du Damage et l'id des options qu'il possède.
    Pour l'instant en effectuant une jointure sur toutes ces différents options (car_wash, car_wash_price, delivery, delivery_price, replacement_transport et replacement_transport_price) je n'arrive qu'à retourner les Damage avec les options car_wash=true ou false; delivery=false donc delivery_price=null; replacement_transport=false donc replacement_transport_price=null.
    Toutes les possibilités avec delivery et/replacement_transport valent true ne sont pas traités.

    Je ne sais pas si j'ai été assez clair. Je cherche une solution depuis deux jours mais je suis dans l'impasse. Si quelqu'un pouvait m'aider se serait super !
    Merci d'avance pour votre aide

    Nom : Capture.PNG
Affichages : 14
Taille : 9,6 KoNom : Capture2.PNG
Affichages : 13
Taille : 4,5 Ko

  2. #2
    Membre confirmé Avatar de MythOnirie
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    juin 2012
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : juin 2012
    Messages : 318
    Points : 645
    Points
    645

    Par défaut

    Bonjour,

    De ce que je vois sur les images il s'agit d'une jointure dans un tMap.

    Pour indiquer au tMap sur quel champ faire la jointure il faut sélectionner le champ dans la table principale et le faire glisser jusqu'au champ correspondant de la table secondaire.

    Sinon, je ne comprends ni tes explication ni ce qui bloque dans le programme a réaliser.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : juillet 2017
    Messages : 3
    Points : 1
    Points
    1

    Par défaut

    Oui ce n'est pas très clair. Effectivement j'ai fait les jointure entre les différents champs en faisant glisser les champs de la première table à la deuxième de manière classique. Cependant ca ne me retourne pas le résultat espéré. Ca ne retourne que les cas ou Car_wash=True, Delivery=false, replacement_transport=false et le cas car_wash=false, Delivery=false, replacement_transport=false.
    Je vais mettre des captures d'écrans afin que se soit plus clair.
    Nom : Capture (1).PNG
Affichages : 13
Taille : 47,2 KoNom : Capture2 (1).PNG
Affichages : 13
Taille : 19,6 Ko

    Cependant je voudrais que tous les cas soient traités et je ne comprends pas d'où vient l'erreur.

  4. #4
    Membre confirmé Avatar de MythOnirie
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    juin 2012
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : juin 2012
    Messages : 318
    Points : 645
    Points
    645

    Par défaut

    C'est une INNER JOIN, du coup les données dans les deux tables sont bien bonnes et correspondent pour les champs false et true ?

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : juillet 2017
    Messages : 3
    Points : 1
    Points
    1

    Par défaut

    Oui j'ai créé la deuxième à partir de la première. Donc normalement les données correspondent

  6. #6
    Membre confirmé Avatar de MythOnirie
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    juin 2012
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : juin 2012
    Messages : 318
    Points : 645
    Points
    645

    Par défaut

    Il faut vérifier les données en entrée du tMap dans ce cas.

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/04/2015, 11h15
  2. Réponses: 6
    Dernier message: 29/07/2014, 13h13
  3. Jointure entre deux tables avec close WHERE
    Par redoran dans le forum Requêtes
    Réponses: 5
    Dernier message: 31/05/2012, 11h12
  4. Réponses: 26
    Dernier message: 21/01/2009, 08h32
  5. jointure entre deux tables mysql
    Par Invité dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 23/04/2006, 20h08

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