【发布时间】:2014-07-30 17:45:57
【问题描述】:
从 tab1 中选择 col1、col2、col3
rownum col1 col2 col3
1 1 10 A
2 1 15 B
3 1 0 A
4 1 0 C
5 2 0 B
6 3 20 C
7 3 0 D
8 4 10 B
9 5 0 A
10 5 0 B
需要的输出是
col1 col2 col3
1 10 A
1 15 B
2 0 B
3 20 C
4 10 B
5 0 A
5 0 B
col1 和 col2 是我的查找/连接列列,如果 col2 具有“非零”数据,那么我需要使用 0 忽略/过滤记录(在上面的示例中,我需要过滤记录 rownum 3 4 和 7)如果 col2在这种情况下,除了“非零”之外没有任何数据,只选择 0 的记录(在上面的示例 col1 中,值为 1 和 5)。
我正在尝试为此编写 sql。希望我已经清楚地提到了要求,如果您需要我的更多信息,请告诉我。在这种情况下似乎变成了空白。
数据库 - Oracle 10g
【问题讨论】:
-
请发布您的尝试。
-
听起来您在谈论基于其他列之一在组中测试
col2。你在哪一列分组? -
在你的第二部分,你的意思是
col1 with value 2 and 5? -
@MitchWheat 我正在尝试自我加入,其中一组为零,另一组非零。然后根据主表中的负条件拉记录考虑。
-
@Barmar 需要过滤 rownum 值为 (3,4,7) 的记录