【发布时间】:2022-01-18 16:49:42
【问题描述】:
您好,我遇到了以下问题:
我有一个大约 1600 行的表,其结构如下:
StoreID | Target1 | Target2 | Target3 | Date1 | Date2 | Date3
101 | X | Y | Z | 01-01-2021 | 02-01-2021 | 03-01-2021
我想把这张表改成
StoreID | Target | TargetDate
101 | X | 01-01-2021
101 | Y | 02-01-2021
101 | Z | 03-01-2021
我对 SQL 很陌生,但我的想法是将 UNPIVOT(Target1, Target2, Target3) 作为一列,将 UNPIVOT(Date1, Date2, Date3) 作为另一列。我相信这应该是可能的,因为两列的长度相同。
然而,许多努力都导致了相同的结果,我最终得到了太多行,因为每个目标最终都有 3 个日期。 有什么方法可以同时明确地取消旋转两列?
【问题讨论】:
-
这能回答你的问题吗? SQL Server unpivot multiple columns
标签: sql sql-server pivot unpivot