一直对此感到困惑。
基本上这是我的声明。
SELECT CandidateID, Town, Candidates.SalaryMin, CandidateExperience, CandidateExperience.divTagExp, PrimarySector, Candidates.SalaryMin, CandidateSalary.divTagSal,
CASE WHEN following.RecID =1
THEN 'block'
ELSE 'none'
END AS divFollow
FROM Candidates
LEFT JOIN CandidateExperience ON CandidateExperience.CandidateExpID = Candidates.CandidateExperience
LEFT JOIN CandidateSalary ON Candidates.SalaryMin >= CandidateSalary.SalaryMin
LEFT JOIN following ON following.RecID = Candidates.CandidateID
AND Candidates.SalaryMin <= CandidateSalary.SalaryMax
这是我的候选人表:
这是我的下表:
这是我的查询结果:
我知道联接有问题,但是我尝试过左,右,内,外,但都不给我想要的东西。
我想要的是,对于候选人中的每个条目,只有一个条目,如果在“跟随”中有匹配的条目,则divFollow字段显示“阻止”,如果没有,则显示“无”。
我想念什么?
谢谢!
更新:
将RecID调整为followingID后的新结果集
最佳答案
SELECT *,
CASE
WHEN candidateId IN
(
SELECT followId
FROM following
)
THEN
'block'
ELSE
'none'
END AS divFollow
FROM Candidates