0
我们有一个要求,在我们试图使用informatica云为2个不同数据库的表执行联合操作时,我们没有联合转换。所以试图探索这是否可以使用左/全外连接执行?使用连接执行联合而不是联合所有
select * from t join p on t.id = p.id
union
select * from t join p on t.id = p.id2
注:并非UNION ALL只联盟
我们有一个要求,在我们试图使用informatica云为2个不同数据库的表执行联合操作时,我们没有联合转换。所以试图探索这是否可以使用左/全外连接执行?使用连接执行联合而不是联合所有
select * from t join p on t.id = p.id
union
select * from t join p on t.id = p.id2
注:并非UNION ALL只联盟
union
和union all
之间的区别仅仅是去除不同值的。您的问题的答案是,您可以使用一堆coalesce()
语句,select distinct
和full join
来模拟union
。
但是,为什么不只是做:
select *
from t join
p
on t.id in (p.id, p.id2);
根据数据,你可能需要select distinct
:
select distinct *
from t join
p
on t.id in (p.id, p.id2);
这里
T是从Teradata和p是从Oracle,我们正在努力加入t和p两次。所以发布的查询在我们的数据提取方面是正确的 –