【问题标题】:Joining two tables and using alias for only 1连接两个表并仅对 1 使用别名
【发布时间】:2023-02-23 02:25:32
【问题描述】:

我想加入 2 个表 A 和 B,如下所示:

ID Time ID_A
1 10:00 5
2 11:00 6
3 12:00 null
ID_A Time
5 13:00
6 14:00

现在我加入他们

select * from A
left join B on ID_A

我现在需要的是一种制作名字的方法时间参考A.时间B.时间参考B.时间.

例如。 select Time from ... 应返回 A.Time,select B.Time from .... 应返回 B.Time 或 null

【问题讨论】:

    标签: sql oracle


    【解决方案1】:

    我认为一个简单的解决方案可能是使用子查询重命名 B 中的列,例如以下代码:

    SELECT 
       ID,  
       Time,
       ID_A,
       Time_B
    FROM A
    LEFT JOIN 
    (select ID_A, Time as Time_B from B) b_alias
    b_alias on ID_A
    

    【讨论】:

    • 这当然有帮助。实际的表有更多的冲突列,所以有点麻烦,但应该可以!
    【解决方案2】:

    您需要在每个表中放置一个别名才能使用“select B.Time ...”。到目前为止,您只是调用一个 A 和 B,但它们并没有被称为它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-09
      • 1970-01-01
      • 2011-12-30
      • 2020-03-24
      • 2014-08-11
      • 2020-12-26
      • 2015-09-03
      • 2021-12-23
      相关资源
      最近更新 更多