원하는 결과를 얻을 수있는 몇 가지 방법이 있습니다.
select store, '1/1/2013' date, [1/1/2013] value
from yourtable
union all
select store, '2/1/2013' date, [2/1/2013] value
from yourtable;
이 SQL Fiddle with Demo를 참조하십시오 SELECT
UNION ALL
와
당신은 사용할 수 있습니다.
select store, date, value
from yourtable
unpivot
(
value
for date in ([1/1/2013], [2/1/2013])
) un;
이 SQL Fiddle with Demo를 참조하십시오
당신은 UNPIVOT
기능을 사용할 수 있습니다.
마지막으로, SQL Server의 버전에 따라 당신은 CROSS APPLY
를 사용할 수 있습니다
select store, date, value
from yourtable
cross apply
(
values
('1/1/2013', [1/1/2013]),
('2/1/2013', [2/1/2013])
) c (date, value)
이 SQL Fiddle with Demo를 참조하십시오. 모든 버전의 결과는 다음과 같습니다.
| STORE | DATE | VALUE |
|---------|----------|-------|
| XYZ INC | 1/1/2013 | 1000 |
| XYZ INC | 2/1/2013 | 2000 |
엄밀히 말하면 단순 해 보입니다. 데이터가 저장되는 방식 (테이블 정의)을 이미 보여 주거나 이미 보유하고있는 것을 보여줄 수 있다면 우리는 그곳에 도착하는 방법을 보여줄 수 있습니다. – RBarryYoung
기술적 인 용어 "Melt"의 사용에 적합 – Hogan
정확한 기술 용어는 "Pivot"입니다. 그걸 찾으세요. 그 질문은 하루에 한 번 정도 물어 봅니다. –