【问题标题】:join condition with or加入条件 or
【发布时间】:2020-12-07 21:09:57
【问题描述】:

我有一个包含 两个数据库块 A 和 B。 它们与主详细信息(加入)条件相关: A.account=B.account

account 是 varchar2(10) 类型。 它工作正常。 但问题是列(帐户)在 表 B 可能包含长度为 (5) 的数据,该数据等于表 A 中称为 (subacc) 的另一列。

如何在以下条件下获取所有数据: A.account=B.account 或 A.subacc=B.account

【问题讨论】:

  • 这三列可以有NULL值吗..?
  • 不,它们不能为空

标签: oracle oracle11g oracle12c oracleforms


【解决方案1】:

您需要这样一个连接条件,其中每个括号中的术语是互斥的,应该添加到主数据块Relations节点:

 ( A.account=B.account AND LENGTH(B.account)>5 ) 
  OR ( A.subacc=B.account AND LENGTH(B.account)<=5 )

由于所有这些列都没有 NULL 值,因此不需要额外的条件来过滤任何列是否为 NULL。

【讨论】:

  • 条件在哪里写?我应该删除主从关系还是保留它
  • 应该添加到主数据块@user11161741的Relationship节点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多