bonjour
travaillant dans une usine, je dois calculer, depuis une base de données de tracabilité, le "first pass yield" ou taux de premier passage (FPY)
cela consiste a ne prendre en compte que les produits qui passent une seule fois et ignorer les repasses
mon but est donc de supprimer les doublons de mes stats. je dispose d'un champ BDD "indicateur de passage" qui s’incrémente si le compteur passe une deuxieme fois, donnant pour résultat deux lignes avec le meme numero de produit, mais des indicateurs a 1 et 2
j'ai d'abord pensé a créer une variable table conditionnée par indicateur = 2 et la confronter avec un deuxieme resultat conditionné par indicateur =1, et faire un "outer join" des deux tables, ce qui me donne le code suivant:
mais ca marche pas!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 declare @tb1 table ( numero_sequentiel1 int, indicateur1 int ) declare @tb2 table ( numero_sequentiel2 int, indicateur2 int ) set @tb1 = (select numero_sequentiel, T5_ci_indicateur from t5_log where t5_ci_date_heure between @heure and @maintenant and t5_ci_indicateur ='1') set @tb2 = (select numero_sequentiel, T5_ci_indicateur from t5_log where t5_ci_date_heure between @heure and @maintenant and t5_ci_indicateur ='2') select tb2.numero_sequentiel2, tb2.indicateur2, tb1.numero_sequentiel1, tb1.indicateur1 from @tb2 as tb2 full outer join @tb1 as tb1 on tb2.numero_sequentiel2 = tb1.numero_sequentiel1
toutes @tb1 et @tb2 sont soulignés de rouge a partir du premier 'SET' et l'erreur retournée est "Must declare scalar table variable "@tb1"
auriez-vous une idée pour faire marcher ce code ou une alternative a me proposer pour calculer mon FPY?
merci d'avance
Partager