2016-07-20 11 views
2

を使用して列に列を回す:は私が1行を返すクエリを持っているSQL Serverの2012+とT-SQL

SELECT fy.Id , 
     fy.FirstStart , 
     fy.SecondStart , 
     fy.ThirdStart , 
     fy.FourthStart 

FROM dbo.FiscalYears fy 
WHERE [Year] = 2017 

これが結果です:

| Id | FirstStart | SecondStart | ThirdStart | FourthStart | 
|----|------------|-------------|------------|-------------| 
| 5 | 2016-04-03 | 2016-07-03 | 2016-10-02 | 2017-01-01 | 

Iターンしたいのですがこの中:

私はサブクエリでPIVOTを使用しますが、私はそれを把握することはできないんだけど、これに似他の質問を見てきました
| Name  | Date  | 
|-------------|------------| 
| FirstStart | 2016-04-03 | 
| SecondStart | 2016-07-03 | 
| ThirdStart | 2016-10-02 | 
| FourthStart | 2017-01-01 | 

。どんな助けもありがたい。

答えて

2

使用UNPIVOT

SELECT Id, Name, Date 
FROM 
(
    SELECT Id, FirstStart, SecondStart, ThirdStart, FourthStart 
    FROM dbo.FiscalYears 
) fy 
UNPIVOT 
(Date FOR Name IN (FirstStart, SecondStart, ThirdStart, FourthStart)) AS t 
+1

はくぎ付け。ありがとうございました。 –

関連する問題