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/04/2011, 12h48   #1
Membre à l'essai
 
Inscription : septembre 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 61
Points : 22
Points : 22
Par défaut update avec une autre valeur

Bonjour
N'ayant pas réussit a faire sous talend, un filtre sur une date qui depend d'une autre table avec le composant tfilter

j'ai essayé ceci mais ca ne marche pas parfaitement ( separement les deux requete sont bonne, mais ensemble j'ai pas le resultat escompté.
J'ai besoins de tout les enregistrement d'une table, seulement quand la date de celle ci est superieur a une date de mise a jour

Code :
SELECT * FROM table1where date_cloture > TO_DATE((SELECT DATE_MAJ FROM DATE_MAJ WHERE TYPE='comptable'),'YYYY-MM-DD')
est ce que j'ai oubliqué quelques chose ?
flash22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 13h37   #2
Membre habitué
 
Avatar de bbl22
 
Inscription : février 2009
Messages : 114
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 114
Points : 112
Points : 112
il y a-t-il une seule date de mise à jour dans la table DATE_MAJ c'est-à-dire il y a t-il une seule ligne?
S'il y a plusieurs lignes tu doit avant tout faire une jointure ou rajouter la condition dans ton where
Si c'est le cas, tu fais:

Code :
1
2
3
SELECT * FROM TABLE
WHERE date_cloture > (SELECT date FROM date_maj ...)
AND ..............
ou si les 2 tables ont un identifiant comment tu fais:
Code :
1
2
3
4
SELECT * FROM TABLE t
LEFT JOIN date_maj d
ON t.id = d.id
WHERE t.date_cloture > d.date_maj
__________________
bbl MeMa
bbl22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 13h43   #3
Membre à l'essai
 
Inscription : septembre 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 61
Points : 22
Points : 22
J'ai mis la condition where = "comptable" et ca me donne bien une seul date, pour la jointure, ce n'est pas possible, dans cette table que j'ai crée je stock seulement la date de mise a jour
flash22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 14h02   #4
Membre habitué
 
Avatar de bbl22
 
Inscription : février 2009
Messages : 114
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 114
Points : 112
Points : 112
OK, si c'est qu'une seule ligne alors ce que tu fais est juste (table1 et where sont collé, mets un espace) :
Code :
1
2
3
4
5
SELECT * 
FROM table1 
WHERE date_cloture > TO_DATE((SELECT DATE_MAJ 
                          FROM DATE_MAJ 
                          WHERE TYPE='comptable'),'YYYY-MM-DD')
sinon si ton champ DATE_MAJ est au même format que date_cloture, tu n'as qu'à faire directement:
Code :
1
2
3
4
5
SELECT * 
FROM table1 
WHERE date_cloture > (SELECT DATE_MAJ 
                          FROM DATE_MAJ 
                          WHERE TYPE='comptable')
Mais la première méthode devrait marcher
__________________
bbl MeMa
bbl22 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 10h18.


 
 
 
 
Partenaires

Hébergement Web