我有两个 SELECT 语句,并希望根据输入参数将它们组合成一个 JOIN 语句:@UseFirstOne = true。 如果 @UseFirstOne 为 true,则我们在第一个条件下加入,如果为 false,则我们在第二个条件下加入。
1.
JOIN X.[Employee] emp
ON emp.EmployeeId = @EmployeeId
AND emp.BirthYear = @BirthYearFromParam
JOIN X.[Employee] emp
ON emp.EmployeeId = @EmployeeId
AND emp.BirthYear < @CurrentYear OR (emp.BirthYear = @CurrentYear AND emp.BirthMonth < @CurrentMonth)
如何将它们组合成一个 JOIN 语句?
AND ((
@UseFirstOne = 1 AND emp.BirthYear = @BirthYearFromParam)
OR (
@UseFirstOne =0 AND (emp.BirthYear < @CurrentYear OR (emp.BirthYear = @CurrentYear AND emp.BirthMonth < @CurrentMonth)
))