【问题标题】:Need to join three tables. Not sure which join fits the req需要连接三个表。不确定哪个连接符合要求
【发布时间】:2014-07-12 23:44:59
【问题描述】:

表 1 AcctNO CustomerId 角色名称 1 123 A ABC 2 121 乙 BCA 3 321 年 CBA

表 2 AcctNo CustomerId 角色地址 1 123 1/12 2 121 乙 11/3 4 231 C 12-1 3 321 C 111 5 221 C 121 表3 AcctNo CustomerId 角色 CompanyName 4 231 C 你好 5 221 C 贝洛 3 321 C 大提琴

输出应该如下 AcctNo CustomerId 角色名称 地址 公司名称 1 123 A ABC 1/12 空 2 121 B BCA 11/3 空 3 321 C CBA 111 大提琴 4 231 C NULL 12-1 你好 5 221 C NULL 121 贝洛

【问题讨论】:

  • 好吧,只有这么多的连接。你试过了吗?你尝试过任何东西吗?
  • 你试过什么?你在哪里卡住?这确实是一个非常典型的 JOIN 问题,所以我不确定到底是什么问题。
  • 要获得 NULL 值,您需要使用外连接。
  • 您应该规范化您的表格。没有理由在所有 3 个表中都有 AcctNoCustomerIdRole

标签: sql oracle


【解决方案1】:

CustomerID 等唯一列上的表之间使用左连接。 使用左连接而不是内连接,因此您可以将任何缺失值作为空值而不是缺失记录。

【讨论】:

  • 如果他使用内部连接,他将不会像他的示例中那样获得 NULL 值。
  • 干杯,我错过了空值
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-11
  • 1970-01-01
  • 1970-01-01
  • 2013-10-06
  • 1970-01-01
  • 1970-01-01
  • 2014-07-22
相关资源
最近更新 更多