En utilisant SQL Server 2005 je les tableaux suivants:Valeurs de retour SQL en tant que champs basés sur la table de type clé et valeur - PIVOT, CASE, etc?
Valeur:
ValueID UserID ValueTypeID ValueKey Text Number
------------------------------------------------------
1 345 1 NAME Bob NULL
2 345 2 AGE NULL 30
3 689 1 NAME Sam NULL
4 689 2 AGE NULL 45
ValueType:
ValueTypeID CodeName
---------------------
1 TEXT
2 NUMBER
Je souhaite obtenir des résultats comme:
UserID Name Age
-----------------
345 Bob 30
689 Sam 45
I Je suis sûr que c'est possible, en utilisant un pivot et peut-être quelques déclarations de cas? Il y a plus de ValueKeys, et encore plus de ValueTypes mais ça va me permettre de continuer. Je connais la liste des ValueKeys à l'avance, ce qui signifie que je peux éviter une requête dynamique.
Malheureusement, je suis Interrogation d'une base de données existante. Je suis incapable à ce stade de changer son design. Aussi le texte est un champ nvarchar, le nombre est un champ int, il y a aussi un champ date de type datetime, etc. – Sprintstar