代码之家  ›  专栏  ›  技术社区  ›  Johnny T

基于当前值的SQL合并表[重复]

  •  0
  • Johnny T  · 技术社区  · 2 月前

    我正试图用基于相同ID的两个不同位置的同意值填充一个表。

    所以我有表A:

    id    consent_value
    111      Y
    222      Y
    333      N
    

    表B:

     id    consent_value
    111         Y
    222         N
    444         N
    555         N
    

    我想要的结果表看起来像这样:

    id      a_consent_value       b_consent_value
    111          Y                     Y
    222          Y                     N
    333          N                    NULL
    444         NULL                   N
    555         NULL                   N
    

    我一直在努力思考如何为此做SQL,但我真的很难创建我想要的结果表。

    有人能给我指出正确的方向吗?

    1 回复  |  直到 2 月前
        1
  •  1
  •   Mureinik    2 月前

    一个完整的外部连接应该起作用:

    SELECT          COALESCE(a.id, b.id) AS id,
                    a.consent_value AS a_consent_value,
                    b.consent_value AS b_consent_value
    FROM            a
    FULL OUTER JOIN b ON a.id = b.id