0

我想在执行 unpivot 时在列中插入默认值

SELECT *
FROM TABLE UNPIVOT (("TARGET")  FOR  QUARTER
IN (
("SHIFT 1 Q1") AS '1',
("SHIFT 2 Q1") AS '1',
("SHIFT 3 Q1") AS '1',
("SHIFT 4 Q1") AS '1',
)) Tmp;

电流输出为

SORTER  QUARTER Target
X       1       5555
X       1       5555
X       1       5555
X       1       5555

QUARTER 值 1 在一列中,移位转到 SHIFT 列,具体取决于我从中提取的值

SORTER  SHIFT   QUARTER Target
X       1       1       5555
X       2       1       5555
X       3       1       5555
X       4       1       5555

有什么解决办法吗?

4

1 回答 1

0

您应该能够在以下内容中使用表达式select

SELECT Sorter, SUBSTRING(QUARTER FROM 1 FOR 1) as shift, 
       SUBSTRING(QUARTER FROM 2 FOR 1) as quarter,
       Target
FROM TABLE UNPIVOT (("TARGET")  FOR  QUARTER
IN (
("SHIFT 1 Q1") AS '11',
("SHIFT 2 Q1") AS '21',
("SHIFT 3 Q1") AS '31',
("SHIFT 4 Q1") AS '41',
)) Tmp;
于 2021-06-18T21:51:15.487 回答