Netezza 中具有重复数据的棘手范围查找

问题描述

以下是我需要在 Netezza SQL 中解决此问题的方案。

如果你看下面的输入第二条记录,第二列是空的,但我需要'H'记录上方的值形式。预计第 2 行将是“A,CP,2”。与第 4 行相同,我需要来自第 3 条记录“H”的值,因此预期为“E,SP,4”

输入数据

H,1

A,2

H,3

E,4

H,5

C,6

输出:

H,6

第二个输入示例: 输入

c1,c2,c3

H,P,1

H,Q,2

E,3

A,R,5

A,6

C,7

H,8

E,9

H,S,10

输出

H,10

解决方法

我从你的例子中假设

  1. 一个给定的“字母”只能有一两行
  2. 只是中间的列有时为 NULL?

我进一步假设 3)表格被称为TAB 4) 并且有 3 列名为 C1,C2,C3

在这种情况下,这应该涵盖它:

Select a.C1,nvl(a.C2,b.C2),a.C3
From TAB a 
Left Join TAB b
Using (C1)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...