是否有任何SQL语法使用netezza SQL,给定列编号,尝试为编号递减到0的行生成行。
下面是我尝试做的一个例子
之前
ID | 编号 |
---|---|
A | 4 |
B | 5 |
您可以将_v_vector_idx
表用于此目的
select
id, idx
from
test join _v_vector_idx
on idx <= number
order
by id asc, idx desc ;
以下是的实际操作示例
select * from test
ID | NUMBER
-------+--------
A | 4
B | 5
(2 rows)
select id, idx from test join _v_vector_idx on
idx <= number order by id asc, idx desc ;
ID | IDX
-------+-----
A | 4
A | 3
A | 2
A | 1
A | 0
B | 5
B | 4
B | 3
B | 2
B | 1
B | 0
(11 rows)
insert into test values ('C', 3);
INSERT 0 1
select * from test;
ID | NUMBER
-------+--------
A | 4
B | 5
C | 3
(3 rows)
select id, idx from test join _v_vector_idx
on idx <= number order by id asc, idx desc ;
ID | IDX
-------+-----
A | 4
A | 3
A | 2
A | 1
A | 0
B | 5
B | 4
B | 3
B | 2
B | 1
B | 0
C | 3
C | 2
C | 1
C | 0
(15 rows)