【问题标题】:Oracle fetching data from a table and use it to fetch data from another tableOracle 从一个表中获取数据并使用它从另一个表中获取数据
【发布时间】:2019-02-23 09:09:18
【问题描述】:

我在 Oracle DB 中有 2 个表,一个表包含 A、B 列,另一个表包含 A、B、C 列。两个表中的前两列相同,但是两个表中的 A、B 列不同数据所以 A -> B 关系两个表是不同的。

所以我想运行一个查询来获取包含 Table1 A、Table1 B、Table2C 的数据,其中 Table1 B= Table2 B;

Select Tab1.A, Tab1.B, (select Tab2.C from Tab2 where  Tab1.B=Tab2.B )
FROM Tab1 WHERE Tab1.A IN (1,2,3,4,5);

【问题讨论】:

  • 您的查询有什么问题?此外,样本数据和期望的结果也会有所帮助。
  • 我的查询第三列结果显示为空,而不是从第二个表中选择值。

标签: sql oracle


【解决方案1】:

您的查询可能会返回错误,因为第二个表中可能有多行具有相同的B 值。为什么不直接使用JOIN

SELECT Tab1.A, Tab1.B, Tab2.C
FROM Tab1 JOIN
     Tab2 
     ON Tab1.B = Tab2.B 
WHERE Tab1.A IN (1, 2, 3, 4, 5);

【讨论】:

    猜你喜欢
    • 2019-05-02
    • 1970-01-01
    • 2017-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多