代码之家  ›  专栏  ›  技术社区  ›  Velocedge

SQL Server:从一个表、另一个表或两者中获取唯一ID

  •  0
  • Velocedge  · 技术社区  · 7 年前

    我有两个表,TA和CMI,它们包含一个 person_ID . 这个 ID 可能存在于TA、CMI或两者中。我想要一份所有人的清晰清单 个人识别码 不管它们是在TA表、CMI表还是两个表中。

    我还希望能够在他们的问题ID相同的地方选择他们。但是,问题id有不同的列名:TA.question和CMI.sco=问题id。

    编辑:

    select ta.person_id, person_key
    from ta 
    left join person on person.person_id = ta.person_id
    where question=7033
    union   -- on purpose to remove duplicates
    select cmi.person_id, person_key
    from cmi 
    left join person on person.person_id = cmi.person_id
    where sco=7033
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Gordon Linoff    7 年前

    你会用 union

    select person_id
    from ta
    union   -- on purpose to remove duplicates
    select person_id
    from cmi;
    

    您可以将其用作查询中的CTE或子查询。