Bonjour à tous,

J'ai quelques petits soucis avec les composants de mon projet et notamment dans la requête de mon tMSSqlInput... En effet dans celui-ci je réalise une jointure entre deux tables, et dans une de ces deux tables je dois récupérer la dernière valeur enregistrée de la colonnes sélectionner un peu dans cette l'idée du lien ci-dessous (TOP 1) :

http://www.w3schools.com/sql/sql_func_last.asp


Pour vous situez mon tMSSqlInput



Le contenu du tMSSqlInput "ProcessVar"

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
SELECT ProcessVar.Batch_Log_ID,
	ProcessVar.DateTime,
	ProcessVar.Parameter_ID,
	ProcessVar.Actual_Value,
	ProcessVar.Target_Value,
	TOP 1 UserProfile.User_Name
FROM BatchHistory.dbo.UserProfile, BatchHistory.dbo.ProcessVar
WHERE Batch_Log_ID = '" + ((String)globalMap.get("BatchLogID")) + "' AND UserProfile.User_ID = (SELECT 	BatchDetail.DoneBy_User_ID
FROM	BatchHistory.dbo.BatchDetail WHERE Batch_Log_ID = '" + ((String)globalMap.get("BatchLogID")) + "' AND Action_CD = '201')
Mon TOP 1 (fonction "last") est utile pour "UserProfile.User_Name" mais j'ai essayé de le mettre avant comme dans le code ci-dessus et j'ai une erreur "Syntax Error".

Alors j'ai essayé de mettre "UserProfile.User_Name" en premier dans le SELECT -->
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT TOP 1 UserProfile.User_Name, (...)
mais la c'est le foutoir dans mes données en sortie car je suppose qu'il fait le TOP 1 sur l'ensemble de mon SELECT...


En alternative à ce problème j'ai essayé de faire un autre tMSSqlInput avec une nouvelle sortie sur mon tFlowToIterate (car je dois effectuer ces requêtes pour plusieurs valeurs en fonction du résultat de mon premier Input). Mais le tMap ne sait, en entré, recevoir qu'un seul Main



Quelqu'un sait-il comment résoudre ce problème...

Merci d’avance pour votre aide . N'hésitez pas à demander des renseignements complémentaires si vous ne comprenez pas.


Cordialement, Teddy.