Dans une procédure je dois normaliser un grand nombre de colonnes (109):
SELECT
[Signal_Index]
,[Sample_TDate_1] ,[Sample_Value_1],[Sample_Qual_1],[Sample_Modified_1]
,[Sample_TDate_2],[Sample_Value_2],[Sample_Qual_2],[Sample_Modified_2]
,[Sample_TDate_3],[Sample_Value_3],[Sample_Qual_3],[Sample_Modified_3]
....
,[Sample_TDate_35],[Sample_Value_35],[Sample_Qual_35],Sample_Modified_35]
,[Sample_TDate_36],[Sample_Value_36],[Sample_Qual_36],Sample_Modified_36]
En définissant 3 UNPIVOT sur [Sample_TDate], [Sample_Value] et [Sample_Qual]
j'obtiens à peu près ce que je veux sous la forme d'une table de valeurs (Sample_Value) horodatées (Sample_TDate).
Il m'est apparu la requête retournait plus de lignes qu'il ne faudrait.
Je me suis aperçu également qu'en se limitant à seulement 3x10 colonnes pour chaque UNPIVOT, le nombre de lignes retournées était correct.
Au delà, des lignes sont rajoutées. Par exemple si je travaille sur 3x19 colonnes, avec un nombre de lignes dans la table de 124, je devrais obtenir 124 x 19 = 2356; au lieu de ça 3844 lignes sont retournées.
J'aimerai savoir si je suis sur la bonne piste ou si je passe à coté de quelque chose de flagrant.
D'autre part, si ce problème est confirmé, quelle serait l'autre solution ?
Merci d'avance
Partager