【发布时间】:2020-07-08 18:09:09
【问题描述】:
我认为当前的输出是这样的
Code Value GrpCode GrpDft
--------------------------
A, 1, A1, N
B, null, A1, Y
C, 1, A2, N
D, 2, A2, Y
E, null, A3, Y
F, null, A3, N
规则如下
- 每个组只能有 2 个代码,并且总是有一个默认代码而不是一个默认代码。
- 如果默认代码不为空,则始终显示该行。不管非默认代码是否有价值
- 如果默认代码为空,则仅当它有值时才显示无默认代码值。
- 如果默认和非默认代码都为空,则显示默认值。
所以基于上面我应该有下面的行剩余。
A, 1, A1, N
D, 2, A2, Y
E, null, A3, Y
不幸的是,由于其他因素,这必须作为视图而不是存储过程或函数来完成。
【问题讨论】:
-
您的问题是指所谓的“默认代码”。我在示例数据中看不到该名称的任何内容。
-
您提出了一些要求,但遗漏了一个问题。请阅读this,了解一些改进“问题”的技巧。
标签: sql sql-server tsql greatest-n-per-group hana