SQL Server:从一个表或另一个表中获取唯一的ID

时间:2019-01-12 19:12:34

标签: sql sql-server tsql

我有两个表TA和CMI,它们包含一个person_IDID可能存在于TA中,也可能存在于CMI中,或者可能两者都存在。我想要所有person_ID的唯一列表,而不管它们是否在TA,CMI或两个表中。

我还希望能够在他们的问题ID相同的情况下选择他们。但是,question_id具有不同的列名:TA.question和CMI.sco = question_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 个答案:

答案 0 :(得分:0)

您将使用union

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

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