【问题标题】:ORACLE JOIN TABLES [duplicate]ORACLE 联接表 [重复]
【发布时间】:2016-08-23 05:48:41
【问题描述】:

我有

T1: USER_ID OSX
       1     Y
       2     Y  

T2: USER_ID ANDROID
       1     Y
       3     Y  

我想按如下方式加入表格,但我不知道如何

T3: USER_ID ANDROID  OSX
       1     Y        Y
       2     null     Y
       3     Y        null

【问题讨论】:

    标签: sql oracle


    【解决方案1】:

    使用full join,更好地处理空值:

    select coalesce(t1.user_id, t2.user_id) as user_id,
           coalesce(t2.android,'N/A') as android,
           coalesce(t1.osx,'N/A') as osx
    from t1
    full join t2 on t1.user_id = t2.user_id
    

    【讨论】:

    • nullnull,为什么要在数据库层使用 dummy-value 'N/A'?!
    【解决方案2】:

    你想要一个full outer join

    select coalesce(t1.user_id, t2.user_id) as user_id,
           t2.android, t1.osx
    from t1 full join
         t2
         on t1.user_id = t2.user_id;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-28
      • 2018-11-24
      • 1970-01-01
      相关资源
      最近更新 更多