Sql 减去连接

Sql minus with joins

我有点受困于这样的场景我有两个 table 分别命名为 messagesmessage_fields

具有这样的关系 message_fields 持有 message_id 并使用它我可以获得消息的 name 我正在尝试比较两个相同的 Scemas table像这样

select Message_id,field_id from DB1.MESSAGE_FIELDS a minus select
Message_id,field_id from DB2.MESSAGE_FIELDS

但是为此我还需要知道 name 我知道我可以在两个查询中将显示名称放在 select 中,但我不想减去 name 在不影响当前查询的情况下,如何获取 Db1.message 微粒 message_id

的名称

我尝试使用 INNER/LEFT/RIGHT JOINS 但没有用

这是你想要的吗?

with mf as (
      select Message_id,field_id from DB1.MESSAGE_FIELDS a
      minus
      select Message_id,field_id from DB2.MESSAGE_FIELDS
     )
select mf.*, m.name
from mf join
     messages m
     on mf.message_id = m.message_id;