Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL > Talend
Talend Forum d'entraide sur Talend (Talend Open Studio, ...). Avant de poster --> FAQ Talend, Tutoriels Talend
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/06/2008, 18h10   #1
Invité de passage
 
Inscription : mai 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 6
Points : 0
Points : 0
Par défaut 2 tMSSqlInput dont la requête du second dépend des résultats du premier

Bonjour,

Je souhaiterais savoir comment avec 2 tMSSqlInput arriver au schéma suivant:
pour chaque n-uplet du 1er tMSSqlInput, le 2e tMSSqlInput génère une requête qui dépend du n-uplet

Exemple:
tMSSqlInput1
select salesId as salesIdInput1 from salesTable

tMSSqlInput2
Pour chaque salesId de tMySqlInput1 générer une requête du type:
select lineNum from salesLine where salesId = salesIdInput1

Merci
WC2007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 11h27   #2
Membre habitué
 
Inscription : mai 2006
Messages : 97
Détails du profil
Informations personnelles :
Âge : 36
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mai 2006
Messages : 97
Points : 118
Points : 118
Envoyer un message via Skype™ à smallet
L'idée est d'utiliser les liens 'iterate'
Ton job devrait ressembler à ça :
tMysqlInput1 -> tFlowToIterate -> tMysqlInput2

Je te renvois à la doc du tFlowToIterate pour savoir comment récupérer la valeur actuelle de tMysqlInput1 dans le tMysqlInput2

Dit moi si tu as besoin de plus d'infos
smallet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2008, 02h22   #3
co2
Membre émérite
 
Avatar de co2
 
Inscription : mai 2002
Messages : 182
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 182
Points : 823
Points : 823
Envoyer un message via Skype™ à co2
Bonjour WC2007,

Est-ce que la réponse de smallet te satisfait?
Si OUI, merci de mettre résolu à ton thread, si NON indique nous ce qui ne va pas!
Merci
__________________
Cédric Carbone, Talend CTO
Blog sur Talend, la Business Intelligence et l'intégration de données | Télécharger Talend Open Studio 3.2 / TOP 3.2
Le forum Talend francophone | anglophone

Actu : Offre d'emploi Consultants Talend |
Tu as la réponse à ta question ? Clique sur en bas à gauche de ton message
co2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2008, 12h07   #4
Invité de passage
 
Inscription : mai 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 6
Points : 0
Points : 0
Merci pour ta réponse smallet,

Néanmoins, je souhaiterais également dans un deuxième temps pouvoir utiliser les flux tMSSqlInput1 et tMSSqlInput2 dans un tMap avec une jointure. Il me semble qu'avec la méthode que tu m'as donné ceci n'est pas possible.

En fait, si on reprend l'exemple, je souhaiterais obtenir quelque chose de similaire à la requête:
select tMSSqlInput1.*, tMSSqlInput2.* from tMSSqlInput1, tMSSqlInput2 where tMSSqlInput2.salesId = salesIdInput1
mais ceci à partir de talend.
WC2007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2009, 11h42   #5
Invité de passage
 
Inscription : janvier 2009
Messages : 15
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2009
Messages : 15
Points : 4
Points : 4
Citation:
Envoyé par smallet Voir le message
L'idée est d'utiliser les liens 'iterate'
Ton job devrait ressembler à ça :
tMysqlInput1 -> tFlowToIterate -> tMysqlInput2

Je te renvois à la doc du tFlowToIterate pour savoir comment récupérer la valeur actuelle de tMysqlInput1 dans le tMysqlInput2

Dit moi si tu as besoin de plus d'infos
Bonjour,

J'ai exactement le même besoin en avec une base postgreSQL, et je fouille depuis ce matin ce forum pour trouver une solution. Ce sujet est le plus proche de mon soucis, je crois.
Je m'en suis inspiré et j'ai tenté d'utiliser une chaîne de ce genre :
tPostgresqlInput_1 -> tFlowToIterate_1 -> tPostgresqlInput_2 -> tPostgresqloutput_1

J'essaye en fait de lire dans une première table d'une première BDD un ensemble d'identifiant de personne (tPostgresqlInput_1) puis de lire dans une deuxième table d'une deuxième BDD des informations sur ces personnes avec mon tPostgresqlInput_2 en lui précisant une clause du genre where Id_personne = (Iterate.Id_personne) pour ensuite les stocker dans une table de mon entrepôt (tPostgresqloutput_1)

Le but est d'éviter de remonter l'ensemble de la table 2 située dans la BDD 2, qui contient un très grand nombre de ligne, alors que l'on en a besoin que d'une centaine lié à une dizaine de personnes situées dans la table, BDD 1.
(J'espère que je ne suis pas trop vague )


Seulement, je n'ai pas compris la documentation du tFlowToIterate_1 pour savoir ce que je dois réellement mettre à la place de mon (Iterate.Id_personne) pour que cela fonctionne.

Je vous remercie d'avance pour votre aide.
Marcsup est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h00.


 
 
 
 
Partenaires

Hébergement Web