Bonjour,
Je suis nouveau dans cette section du forum et je découvre petit à petit TOS DI.
Aujourd'hui, bien que les requêtes SQL fonctionnaient bien avec le composant tMySqlInput avec des requêtes simples, j'ai eu un besoin un peu plus ambitieux. J'essaye (et j'ai réussi via mySQL Workbench) de faire une requête où le résultat d'une ligne dépend de la précédente.
Exemple : calcul de délai entre deux dates. Pour ce faire voici la requête MySql effectué :
Cela fonctionne bien sous l'éditeur MySQLWorkbench. Mais quand je rentre cette ou plutôt ces requêtes dans tMysqlInput, j'ai les erreurs suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SET @var = null; SELECT id, start_date, end_date, @var precedent, UNIX_TIMESTAMP(TIMEDIFF(start_date,@var)) as diff, @var:=start_date as temp FROM ma_table order by start_date;
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT id, start_date, end_date, id_process_type, @var precedent, UNIX_TIMESTAMP' at line 2...
pas beaucoup d'info !
Savez vous si il existe une astuce pour ce genre de requête et plus généralement pour introduire des variables de ce genre en mySQL dans Talend ? Un autre composant capable de faire ce genre de chose ? J'ai cherché mais je n'ai rien vu (je creuse du côté de MySqlRow néanmoins)
Merci de m'avoir lu ! Bonne journée !
Partager