我有这样的一个表:SQL UNPIVOT多个列
ProgramNumber Month EU_Date US_Date Japan_Date
2006060_PR 1 3/1/2017 9/1/2017 3/1/2018
2006060_PR 2 4/1/2017 9/1/2017 12/1/2017
2006060_PR 3 4/1/2017 9/1/2017 12/1/2017
2006060_PR 4 4/1/2017 9/1/2017 11/1/2017
2006060_PR 5 5/1/2017 9/1/2017 11/1/2017
和所需的输出应该是跨越几个月传播日期:
ProgramNumber Dates 1 2 3 4 5
2006060_PR EU_Date 3/1/2017 4/1/2017 4/1/2017 4/1/2017 5/1/2017
2006060_PR US_Date 9/1/2017 9/1/2017 9/1/2017 9/1/2017 9/1/2017
2006060_PR Japan_Date 3/1/2018 12/1/2017 12/1/2017 11/1/2017 11/1/2017
我尝试这个查询和不知道如何进一步发展。
select ProgramNumber, Dates, [1] from (select ProgramNumber, Month, EU_Date, US_Date, Japan_Date from dbo.TempDates) t
unpivot (
[1] for Dates in (EU_Date, US_Date,Japan_Date)) p
感谢您的帮助!使用条件聚合
[xkcd PSA ISO 8601](https://xkcd.com/1179/) – SqlZim
您是不是在月份转动并且无意中发现日期? – xQbert