根据条件SQL Server选择一列

时间:2017-04-19 16:26:39

标签: sql-server

我有这样的情况:

SELECT 
   fName, 
   lName
FROM employee as e
join payroll as p ON p.frn_employeeid = e.employeeId

对于employeeId = 2(WHERE e.employeeId = 2)我还想在select子句payCheck上添加另一列

 SELECT 
   fName, 
   lName,
   payCheck (this column should show on the report ONLY if employeeId = 2)
FROM employee as e
join payroll as p ON p.frn_employeeid = e.employeeId

我很感激有助于实现这一目标。

注意: 我知道我能做的一件事是使用两个查询,然后检查employeeId = 2 run是否说出查询1否则运行查询2。 我正在寻找是否只使用一个“SMART”查询

1 个答案:

答案 0 :(得分:4)

案例陈述会给你你想要的东西:

SELECT fName, lName,
    CASE
        WHEN e.employeeid = 2
            THEN payCheck
        ELSE
            ''
    END AS Paycheck
FROM employee as e
    JOIN payroll as p ON p.frn_employeeid = e.employeeId

要完全排除列,请使用IF THEN语句:

IF (employeeid = 2)
    SELECT fname, lname, paycheck
    FROM employee as e
        JOIN payroll as p ON p.frn_employeeid = e.employeeId
ELSE
    SELECT fname, lname
    FROM employee as e
        JOIN payroll as p ON p.frn_employeeid = e.employeeId