Hive - 匹配同一表中的 2 列并插入新表

Posted

技术标签:

【中文标题】Hive - 匹配同一表中的 2 列并插入新表【英文标题】:Hive - Match 2 columns in the Same table and insert to a NEW table 【发布时间】:2020-07-17 03:01:55 【问题描述】:

我有两张桌子,

当前表

New_table(预期输出)

我要做的是匹配 Current_table 中的 2 列(Num 和 Temp_closed)并输出到 New_Table。

作为开始,我首先尝试选择 Column Num 中不在 Temp_Closed 中的所有行

SELECT * FROM Current_table WHERE temp_closed <> Num

结果为“0”

久经考验的,

SELECT 
  CASE WHEN num =temp_closed
    THEN '1' 
    ELSE '0' 
  END 
  AS MyDesiredResult
FROM Current_Table

然后一切都是“0”

我想知道如何从 Num 列中选择不在 Temp_Closed 列中的任何值

我查找了很多示例,所有示例都是如何在 2 个表中而不是在同一个表中进行操作。任何帮助,将不胜感激。谢谢

【问题讨论】:

【参考方案1】:

如果我理解正确,您想要做的是:

SELECT * FROM current_table WHERE temp_close NOT IN (SELECT Num FROM current_table)

【讨论】:

其他方式但正确。感谢您的帮助,SELECT * FROM current_table WHERE num NOT IN (SELECT temp_close FROM current_table)【参考方案2】:

你应该试试下面

select * from Current_Table ct, Current_Table ct2 where ct.Num ct2.Temp_Closed

【讨论】:

以上是关于Hive - 匹配同一表中的 2 列并插入新表的主要内容,如果未能解决你的问题,请参考以下文章

(Sqlserver)将在查询结果插入新表中的时候添加一个自动增长列么 SQL语句怎么写

PL/SQL 仅使用游标将 2 个表中的数据检索到新表中

Excel宏比较两个工作表中的两列并插入行值

在创建新表时插入另一个表中的值

将旧 SQL 表中的数据插入到新表中,列更改为行

如何连接两个表中的数据并将结果插入到新表中?