繁体   English   中英

根据条件选择一列SQL Server

[英]Select a column based on a condition 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是否运行,假设查询1,否则运行查询2。 我正在寻找是否可以仅使用一个“ SMART”查询

案例陈述会给您您想要的:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM