J'ai besoin de générer des données en tant que jeu de résultats à partir d'une procédure stockée dans laquelle les colonnes de mes données sources sont représentées en tant que lignes dans la sortie. Je devrais voir une ligne pour chaque colonne dans ma sortie qui est dans mes données source et je devrais voir une colonne dans ma sortie pour chaque ligne dans mes données source. Je ne vois pas comment je peux le faire en utilisant Pivot ou les autres méthodes que j'ai examinées. Une fois que j'ai les données orientées comme je l'aime, j'imagine que je vais interroger sys.columns pour injecter les noms des colonnes de données source comme la première colonne de ma sortie. J'aurai aussi probablement besoin d'interroger les valeurs de données sources à l'avance qui seront utilisées comme noms de colonnes de sortie. J'imagine un SQL dynamique magnifique dans mon futur mais je peux trier tout cela moi-même si nécessaire. Je suis surtout préoccupé par la façon de convertir les colonnes en lignes. Voir ci-dessous:Déplacement de colonnes SQL vers des lignes
SELECT
ID
,XID
,Amount
FROM (
SELECT 11 as ID, 301 as XID, 50001 as Amount UNION ALL
SELECT 12 as ID, 302 as XID, 50002 as Amount UNION ALL
SELECT 13 as ID, 303 as XID, 50003 as Amount UNION ALL
SELECT 14 as ID, 304 as XID, 50004 as Amount
) T1
/*
The above query returns this:
ID XID Amount
----------------
11 301 50001
12 302 50002
13 303 50003
14 304 50004
Instead I would like to see this:
Column 11 12 13 14
-----------------------------------
ID 11 12 13 14
XID 301 302 303 304
Amount 50001 50002 50003 50004
*/
Check out PIVOT: https://technet.microsoft.com/en- us/library/ms177410 (v = sql.105) .aspx – Leonidas199x
Ceci est un peu le contraire de ce que vous voulez, mais il shou ld vous dirige dans la bonne direction http://stackoverflow.com/questions/15931607/convert-rows-to-columns-using-pivot-in-sql-server –
En utilisant PIVOT vous pouvez faire en sorte que la valeur source de la colonne ID soit représente une colonne pour chaque ID dans la sortie, mais vous ne pouvez pas faire en sorte que le reste des colonnes source soit représenté en tant que lignes. Je ne vois pas comment faire ce que je veux avec PIVOT. – RedRocketFire