J'ai lu de nombreux articles sur ce site ainsi que d'autres concernant l'utilisation de PIVOT, UNPIVOT, UNION et CROSS JOIN, mais je n'arrive pas à obtenir les résultats que je recherche.Retour des colonnes en tant que lignes pour enregistrement unique
Ma table se présente comme suit:
EmployeeName Salary Address City State Zip AdditionalDetails
=========================================================================================
Doe, John 400000 111 Jackson Ave Nowhere CA 99999 Reliable
Blow, Joe 300000 222 Johnson St Somewhere ME 00000 Always late
Ce que je suis en train de montrer est la suivante:
EmployeeName Doe, John
Salary 400000
Address 111 Jackson Ave
City Nowhere
State CA
Zip 99999
AdditionalDetails Reliable
Le plus proche que je suis venu utilise UNPIVOT comme suit, cependant, le problème est que les deux colonnes sont transposées, j'ai besoin de les échanger même si je ne suis pas sûr de savoir comment faire cela.
SELECT *
FROM
(
SELECT EmployeeName, Salary, Address, City, State, Zip, AdditionalDetails
FROM EmployeeDetails
WHERE [email protected]
) AS SourceTable
UNPIVOT
(
Value FOR Header IN
(EmployeeName, Salary, Address, City, State, Zip, AdditionalDetails)
) AS UnpivotTable
Donc ce que je reçois est:
Value Header
Doe, John EmployeeName
400000 Salary
111 Jackson Ave Address
Nowhere City
CA State
99999 Zip
Reliable AdditionalDetails
Comment puis-je obtenir les données affichées comme je l'ai besoin? Je commencerai en disant qu'il n'y aura qu'un seul enregistrement d'employé retourné à la fois avec cette requête. J'ajoute ces données dans un fichier CSV et demande que l'enregistrement de l'employé soit affiché de cette façon.
Impressionnant, Merci beaucoup! – aantiix
@aantiix De rien! –