-3
我们有一个小的需求,我们需要比较一个主表和一个辅助表。查询将返回结果并包含一个额外的“STATUS”列,它将告诉用户第一个表中的数据是否在第二个表中逐行存在。 我无法确定如何获得所需的结果。用于在运行时创建新列的SQL查询
我们有一个小的需求,我们需要比较一个主表和一个辅助表。查询将返回结果并包含一个额外的“STATUS”列,它将告诉用户第一个表中的数据是否在第二个表中逐行存在。 我无法确定如何获得所需的结果。用于在运行时创建新列的SQL查询
您未能向我们展示这两个表的结构,因此我假设两个表之间存在(至少)一个公共列,这将允许您加入它们。
select t1.*, t2.*,
case
when t1.id is null then 'not present in TABLE_1'
when t2.id is null then 'not present in TABLE_2'
else 'present in both tables'
end as status
from table_1 t1
full outer join table_2 t2 on t1.some_id = t2.some_id
您将需要使用真实列名称而不是some_id
。这也假定列some_id
将不包含任何两个表中的NULL
值。
@MaheswaranRavisankar:你是对的,谢谢(我总是忘记Oracle有这个限制) –
欢迎来到SO。在这里你可以找到关于[问]和如何构建[mcve]的信息,这可以帮助你改进问题 – Aleksej