加入两个表,但为另一个

时间:2018-01-22 22:13:04

标签: sql-server

想象一下人力资源系统和员工评估系统。员工都得到一个评估,但员工可能会为两个不同的HR工作。我想加入两者,但只获得一行员工评估和人力资源记录。问题是,您将在两个系统中为任何员工获得两行。是否可以设置一个值优先于另一个值?如果员工在一个系统中工作,显然我们需要使用该系统。但如果他们在

工作
create table #eval (
    employeeid int,
    score int
)
insert into #eval
values
(1,5),
(2,3),
(3,4),
(4,4)

create table #hr (
    employeeid int,
    sourcesystem int
)
insert into #hr
values
(1,1),
(1,2),
(2,1),
(3,2),
(4,3)

加入employeeid时此标准失败,但发生冲突时我希望sourcesystem = 1超过sourcesystem = 2sourcesystem = 3

1 个答案:

答案 0 :(得分:1)

如果您想要源1作为结果,请使用MIN,否则使用MAX,如果您想要源3或更高的值

entryComponents