Teradata SQL - 选择不同的返回重复行,其中一行具有空值

杰曼

我被困在查询中,我正在加入多个表以引入特定主键所需的属性。我发现我收到了重复的行,它们本质上是相同的,但一行在几列中有空 (?) 值。我只想返回包含填充数据的行。

到目前为止,我已经检查了所有的 vol 表,没有重复,并且在我的最终 vol 表之前我有相同的不同行数。我正在加入来自最终 vol 表中其他表的新数据,并将发布该查询,但只是好奇是否有人知道为什么“SELECT DISTINCT”会发生这种情况。

我尝试使用子句“WHERE PROD_LN IS NOT NULL”,但我有一些不是重复的,并且没有 PROD_LN 的值。我也在考虑尝试“CASE WHEN PROD_LN IS NULL THEN PROD_LN = PROD_LINE NOT NULL”,但不确定这是否可行。任何帮助表示赞赏!

        ACCT_NAME | GRP_ID   |  GRP_B  | ASGND_CD | PROD_LN | PROD_TYP | PLCY_TYP | FINCL | MKT_SGMT |
    ENTERPRISE A  | 00012345 |  N12345 |    1     |    ?    |     ?    |     8    |   ?   |     ?    |
    ENTERPRISE A  | 00012345 |  N12345 |    1     |    H    |   SPPO   |     8    |  ASO  |    AFG   |
戈登·利诺夫

我想你想要这样的东西:

select t.*
from t
qualify row_number() over (partition by ACCT_NAME, GRP_ID, GRP_B, ASGND_CD
                           order by prod_ln nulls last
                          ) = 1;

我猜重复是指前四列。在任何情况下,都partition by应该是您希望唯一的列。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL / Teradata:返回记录,其中连续行中的值相同

来自分类Dev

不同的匹配对-Teradata / SQL

来自分类Dev

Teradata SQL:比较组内的值

来自分类Dev

SQL在一行中选择具有重复值的不同行,然后根据主键字段中的值为每个重复项选择一行

来自分类Dev

选择并附加具有空值的行 (SQL/VBA)

来自分类Dev

在GROUP BY中具有非聚合字段的Teradata SQL

来自分类Dev

teradata sql省略空间

来自分类Dev

SQL(用于Teradata)

来自分类Dev

Teradata SQL优化

来自分类Dev

Teradata 中的 SQL 透视

来自分类Dev

如何根据Teradata SQL上的某些条件保留某个组的第一行?

来自分类Dev

T-SQL选择重复的行,其中至少一列具有值

来自分类Dev

Teradata sql选择失败[2616]计算期间发生数字溢出

来自分类Dev

如何在Teradata SQL中跨行获取最大列值?

来自分类Dev

带有case-SELECT的Teradata sql查询失败。3706

来自分类Dev

如何从Teradata SQL中的大型查询结果集中选择一定数量的行

来自分类Dev

如何从Teradata SQL中的大型查询结果集中选择一定数量的行

来自分类Dev

Teradata SQL导出到CSV

来自分类Dev

Teradata SQL VARCHAR和空格

来自分类Dev

Teradata SQL中的摘要表

来自分类Dev

Teradata SQL VARCHAR和空格

来自分类Dev

如何在SQL Server的表的所有列中选择具有空值的行?

来自分类Dev

如何合并具有空值的SQL行

来自分类Dev

Teradata bteq sql 删除表中带有 min(column) 的重复记录

来自分类Dev

Teradata SQL中的MODE-从范围中排除一个值,并使用多个表

来自分类Dev

Teradata SQL中的MODE-从范围中排除一个值,并使用多个表

来自分类Dev

Teradata SQL-在两个事件之间按日期排序并标记行

来自分类Dev

选择其中一个单元格值等于参数的行或ms sql中的所有行

来自分类Dev

选择其中一个单元格值等于参数的行或ms sql中的所有行

Related 相关文章

  1. 1

    SQL / Teradata:返回记录,其中连续行中的值相同

  2. 2

    不同的匹配对-Teradata / SQL

  3. 3

    Teradata SQL:比较组内的值

  4. 4

    SQL在一行中选择具有重复值的不同行,然后根据主键字段中的值为每个重复项选择一行

  5. 5

    选择并附加具有空值的行 (SQL/VBA)

  6. 6

    在GROUP BY中具有非聚合字段的Teradata SQL

  7. 7

    teradata sql省略空间

  8. 8

    SQL(用于Teradata)

  9. 9

    Teradata SQL优化

  10. 10

    Teradata 中的 SQL 透视

  11. 11

    如何根据Teradata SQL上的某些条件保留某个组的第一行?

  12. 12

    T-SQL选择重复的行,其中至少一列具有值

  13. 13

    Teradata sql选择失败[2616]计算期间发生数字溢出

  14. 14

    如何在Teradata SQL中跨行获取最大列值?

  15. 15

    带有case-SELECT的Teradata sql查询失败。3706

  16. 16

    如何从Teradata SQL中的大型查询结果集中选择一定数量的行

  17. 17

    如何从Teradata SQL中的大型查询结果集中选择一定数量的行

  18. 18

    Teradata SQL导出到CSV

  19. 19

    Teradata SQL VARCHAR和空格

  20. 20

    Teradata SQL中的摘要表

  21. 21

    Teradata SQL VARCHAR和空格

  22. 22

    如何在SQL Server的表的所有列中选择具有空值的行?

  23. 23

    如何合并具有空值的SQL行

  24. 24

    Teradata bteq sql 删除表中带有 min(column) 的重复记录

  25. 25

    Teradata SQL中的MODE-从范围中排除一个值,并使用多个表

  26. 26

    Teradata SQL中的MODE-从范围中排除一个值,并使用多个表

  27. 27

    Teradata SQL-在两个事件之间按日期排序并标记行

  28. 28

    选择其中一个单元格值等于参数的行或ms sql中的所有行

  29. 29

    选择其中一个单元格值等于参数的行或ms sql中的所有行

热门标签

归档