【问题标题】:Left Outer Join, No result in final query左外连接,最终查询没有结果
【发布时间】:2013-05-10 21:49:31
【问题描述】:

我正在执行以下查询

Select * from A a left outer join B b on (b.id = a.id)

我从 A 获得了一条记录,但没有从 B 获得记录。我希望在最终选择查询中有一条记录,但没有得到。

这是一些示例数据:

一个

v_id, id,      date,      d_id
1,    1244578, 02-MAR-11, 1827877

B,没有数据显示:

e_id,id,amount

我做错了什么?我怎样才能做到这一点?

【问题讨论】:

  • 请显示一些记录
  • 记录是这样的 A(v_id,id,date,d_id) (1,1244578,02-MAR-11,1827877) AND B(e_id,id,amount)[没有数据]
  • @KrantiKumarMishra - 我们不是在谈论输出数据。我们正在讨论输入数据。
  • 或者您正在运行不同的查询或在不同的表上或在表中不是您正在考虑的事情。

标签: sql oracle join outer-join full-outer-join


【解决方案1】:

您从表 A 中获得了一条记录,这是因为表 A 只有一条记录,而表 B 没有记录。 在第一个表的左外连接内容中显示与第二个表的结果连接,但在您的情况下,第二个表没有记录,因此最终结果显示该记录的空值。

【讨论】:

    【解决方案2】:

    这应该可以正常工作:

    Select *
    from A a 
    left outer join B b on b."id" = a."id"
    

    在这里查看它的实际效果:

    这会给你:

    | V_ID |      ID |      DATE |    D_ID |   E_ID | AMOUNT |
    ----------------------------------------------------------
    |    1 | 1244578 | 02-MAR-11 | 1827877 | (null) | (null) |
    

    【讨论】:

      猜你喜欢
      • 2012-12-06
      • 1970-01-01
      • 1970-01-01
      • 2012-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多