Je suis en train de achive ceci:Conversion des lignes à colonnes avec le nombre inconnu d'éléments
tableau initial:
PARM1 |PARM2 |DATE
-------------------
VALUE1|VALUE2|DATE1
VALUE3|VALUE4|DATE2
Résultat final:
PARM |DATE1 |DATE2 |...
-----------------------
PARM1|VALUE1|VALUE3|...
PARM2|VALUE2|VALUE4|...
En bref, je veux convertir mes les noms des paramètres en lignes et d'avoir une colonne pour chaque date, où les cellules contiennent les valeurs des paramètres pour la date et le paramètre.
Jusqu'à présent, je réussi à obtenir ceci:
SELECT *
FROM
(
SELECT [Parameter], [DATE], VALUE
FROM
(
SELECT PARM1, PARM2 FROM PARAMETER_VALUES
) SOURCE_TABLE
UNPIVOT
(
VALOR FOR [Parameter] IN (PARM1, PARM2)
) UNPIVOTED_TABLE
) T
Le problème est, je ne peux pas PIVOT les résultats, parce que je ne sais pas combien il y a DATEs. Je veux que ce soit dynamique.
Est-ce possible?
sons comme une structure EAV qui est venu à vous mordre dans le derrière. Fondamentalement, les bases de données ne sont pas conçues pour générer dynamiquement des colonnes. Donc, si c'est ce que vous voulez faire, vous devriez le faire en dehors de la base de données dans un composant de niveau intermédiaire ou un outil de reporting. – Thomas
Si vous postez du code, XML ou des structures fixes, ** mettez en surbrillance ces lignes dans l'éditeur de texte et cliquez sur le bouton "code" (101 010) dans la barre d'outils de l'éditeur pour le mettre en valeur! –