我有一个表,其中有一些特殊的数据排列,其中有 28-31 列对应于一系列唯一 ID 的月份日期。我想做的是将其转化为具有实际日期值的更可行的格式。我的表格如下所示:
DECLARE @Month VARCHAR(3)
SET @Month = 'NOV'
Run Code Online (Sandbox Code Playgroud)
| ID | 地位 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|---|
| 111 | 积极的 | A | 2 | 3 | 4 | Z |
| 222 | 不活跃 | Z | 5 | F | 6 | 7 |
理想情况下,我希望有一种方法可以将其转换为如下所示的内容:
| ID | 地位 | 日期 | 价值 |
|---|---|---|---|
| 111 | 积极的 | 11/1/2022 | A |
| 111 | 积极的 | 11/2/2022 | 2 |
| 111 | 积极的 | 11/3/2022 | 3 |
| 111 | 积极的 | 11/4/2022 | 4 |
| 111 | 积极的 | 11/5/2022 | Z |
| 222 | 不活跃 | 11/1/2022 | Z |
| 222 | 不活跃 | 11/2/2022 | 5 |
| 222 | 不活跃 | 11/3/2022 | F |
| 222 | 不活跃 | 11/4/2022 | 6 |
| 222 | 不活跃 | 11/5/2022 | 7 |
在对性能进行一些小的考虑的情况下,对于列数(相对于一个月中的不同天数)灵活的方法将是更可取的。