我也和其他部门的员工一起

时间:2013-04-08 07:30:07

标签: sql sql-server tsql

我有一张表,我有数百万条记录我想要一个应该返回员工属于IT部门的查询,出生日期应为null或1970-01-01或1961-01-01且员工身份应该是活跃。

我想要像这样的结果

EmployeeID  Dept    Status  DateOfBirth
1           IT  Active  19600101
2           IT  Active  19700101
3           IT  Active  19600101
4           IT  Active  19700101
5           IT  Active  Null
6           IT  Active  Null

请提前帮助

3 个答案:

答案 0 :(得分:3)

您需要做的就是在查询中提供WHERE根据您的情况过滤哪些过滤器。

SELECT  *
FROM    TableName
WHERE   Dept = 'IT' AND
        [Status] = 'Active' AND
        (
           DateOfBirth = 19700101 OR
           DateOfBirth = 19600101 OR
           DateOfBirth IS null
        )

答案 1 :(得分:0)

试试这个。

SELECT 
    EmployeeID,
    Dept,
    Status,
    DateOfBirth
FROM 
   yourTable
WHERE
    Dept = 'IT'
    AND Status = 'Active'
    AND (DateOfBirth IN (19700101, 19610101) OR DateOfBirth IS NULL)

答案 2 :(得分:0)

以上答案看起来对我来说是正确的,但如果它们不起作用,请尝试使用LIKE关键字:

SELECT * FROM TableName 部门喜欢'%IT%'和         [状态]类似'%Active%'AND         (            DateOfBirth = 19700101或            DateOfBirth = 19600101或            DateOfBirth为null         )

如果这不起作用,请分享您的表格结构。