我有这样的情况:
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”查询
答案 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