|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||||
|
Membre habitué
![]() Inscription : novembre 2005 Messages : 319 ![]() |
Bonjour.
Je suis confronté à un problème draconien. J'ai une base de données dont le schéma n'est pas du tout adapté à l'interface qui est collée dessus (une interface en VB.Net, que je développe également). Le problème étant le suivant. Ma table enregistre des données en lignes. Ces mêmes données sont modifiées en colonnes sur l'interface de saisie. J'ai donc un schéma de table comme ceci Code :
Mon tableau de saisie quant à lui est en colonne, avec saisie par année Code :
Code :
C'est justement là qu'est mon problème. Lors de la lecture, pour pivoter les années, je somme les valeurs sur une même clef métier pour une année donnée. Pour récupérer les ID, je rajoute en union les ID des lignes qui sont concernées, puis ensuite, j'agrège le tout pour n'avoir qu'une ligne par clef métier. Exemple concret Code :
PS : La structure de la table Code :
|
||||||||||
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Inscription : novembre 2005 Messages : 319 ![]() |
Bon après s'être torturé pendant plusieurs jours, la solution que l'on va mettre en oeuvre est de rajouter un champ caché dans l'application avec une colonne BusinessKey, gérée entièrement côté code, et qui, pour une "ligne" de saisie affecte un numéro aléatoire identique sur chaque ligne de la base de données. Ainsi quand je fais mon pivot, j'ai une colonne de plus, et ma clef métier est unique.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com