我在下面的表格中有一些信息。
ID IDZONE IDVALUE RANK
A1 ZONE-1 100 1
B1 ZONE-1 100 1
C1 ZONE-1 100 1
C1 ZONE-2 200 2
C1 ZONE-3 300 3
C1 ZONE-4 400 4
C1 ZONE-5 500 5
n rows----
我想重新显示表格以确保每个ID应包含RANK值1-5,如下所示(null / 0表示缺失值)。
ID IDZONE IDVALUE RANK
A1 ZONE-1 100 1
A1 null 0 2
A1 null 0 3
A1 null 0 4
A1 null 0 5
B1 ZONE-1 100 1
B1 null 0 2
B1 null 0 3
B1 null 0 4
B1 null 0 5
C1 ZONE-1 100 1
C1 ZONE-2 200 2
C1 ZONE-3 300 3
C1 ZONE-4 400 4
C1 ZONE-5 500 5
n rows------
通过在RANK列上使用单独的WITH子句尝试左连接,但没有任何效果。请建议我们如何实现这一目标。
答案 0 :(得分:1)
由于您在oracle中,您可以使用此技术来创建所需的人工数据。然后加入它,并保留不在主要集合中的人工数据。
SELECT LEVEL n
FROM DUAL
CONNECT BY LEVEL <= 5;