SQL查询比较2个表并输出case语句

标签 sql hive

我正在尝试编写一个查询,如果 cust_no 位于两个表中,则输出“Y”,否则输出“N”。

Tab_1:
123
456
789

Tab_2:
123
456
896

输出:

123   Y
456   Y
789   N

我知道这个标准需要 case 语句,但不确定选择是如何发生的。如有任何提示,我们将不胜感激。

最佳答案

您可以使用完全联接来执行此操作。

select coalesce(t1.num,t2.num) as num,
case when t1.num is not null and t2.num is not null then 'Y' else 'N' end
from tbl1 t1
full join tbl2 t2 on t1.num=t2.num

关于SQL查询比较2个表并输出case语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48211469/

相关文章:

mysql - 如何在hive数据库中查找空表

hadoop - 使用Hive进行表数据从一个Hadoop环境到另一个Hadoop环境的传输并使用oozie进行调度

mysql - 连接操作后按类型 1 或 2 选择和格式化

sql - 数据库中的非拉丁字符排序为 "order by"

hadoop - 在 hadoop 的同一分区内合并多个文件的最佳选择?

sql - 改变 hive 中的现有 map

escaping - 如何在 Hive QL 中转义 %(百分号)?

mysql 搜索行的 3 列具有相同的值

python - 哪个高效,使用 sql 连接查询,还是使用 pandas 合并查询?

mysql - 折叠给定组的数据