这里有一个SQL新手。我有一个SQL表,用于存储特定日期的特定唯一标识符的数据。
示例:
UniqueIdentifier someData1 Date1 SomeData2 Date2 SomeData3 Date3
1 1000 01/01/2017 2000 01/02/2017 2000 01/03/2017
2 2000 21/01/2017 2500 21/02/2017 3540 21/03/2017
3 3000 05/01/2017 3000 08/07/2016 3000 12/05/2016
我想以某种方式转换数据,所以它最终会像这样:
UniqueIdentifier Data Date
1 1000 01/01/2017
1 2000 01/02/2017
1 2000 01/03/2017
2 2000 21/01/2017
2 2500 21/02/2017
2 3540 21/03/2017
3 3000 05/01/2017
3 3000 08/07/2016
3 3000 12/05/2016
基本上将每个日期及其相应的值提取到一个单独的行中。我猜我需要使用某种数据透视表才能做到这一点,但我并不确定如何做到这一点!任何帮助将不胜感激!
答案 0 :(得分:2)
使用联盟
select UniqueIdentifier, someData1 as 'Data', Date1 as 'Date' from <yourtable>
union
select UniqueIdentifier, someData2 as 'Data', Date2 as 'Date' from <yourtable>
union
select UniqueIdentifier, someData3 as 'Data', Date3 as 'Date' from <yourtable>