Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 如何从特定日期持续时间查找活动/非活动状态_Sql Server 2008 - Fatal编程技术网

Sql server 2008 如何从特定日期持续时间查找活动/非活动状态

Sql server 2008 如何从特定日期持续时间查找活动/非活动状态,sql-server-2008,Sql Server 2008,示例:(选中活动和非活动) 持续时间-自日期:2011-01-01 截止日期:2014-01-01 EMPID ACTIVEDATE/REJOINING DATE INACTIVEDATE ----- ------------------------ ----------- 1 NULL '2011-12-31' 2 '2012-01-01' '

示例:(选中活动和非活动)

持续时间-自日期:2011-01-01 截止日期:2014-01-01

EMPID   ACTIVEDATE/REJOINING DATE       INACTIVEDATE

-----   ------------------------        -----------

1       NULL                           '2011-12-31'

2       '2012-01-01'                   '2011-12-31'

2       NULL                           '2013-12-31'

3       '2015-01-01'                   '2011-12-31'
我需要以下输出:

Active 

活跃 一,

二,

三,

请发送准确的SQL查询并满足我的条件

问候 葡萄酒

试试这个

SELECT EmployeeID,CASE WHEN (ISNULL(MAX([REJOINING DATE]),'') > GETDATE()) OR (MAX(INACTIVEDATE) >ISNULL(MAX([REJOINING DATE]),'') ) THEN 'INACTIVE'
                       WHEN  (MAX(INACTIVEDATE) < ISNULL(MAX([REJOINING DATE]),'') ) AND (ISNULL(MAX([REJOINING DATE]),'') < GETDATE())  THEN 'ACTIVE'
                       ELSE  'N/A'
                 END AS 'Status'
 FROM @Table
选择EmployeeID,当(ISNULL(MAX([重新加入日期]),“”)>GETDATE()或(MAX(INACTIVEDATE)>ISNULL(MAX([重新加入日期]),“”))然后为“非活动”时
当(MAX(INACTIVEDATE)
EMPID   
-----
SELECT EmployeeID,CASE WHEN (ISNULL(MAX([REJOINING DATE]),'') > GETDATE()) OR (MAX(INACTIVEDATE) >ISNULL(MAX([REJOINING DATE]),'') ) THEN 'INACTIVE'
                       WHEN  (MAX(INACTIVEDATE) < ISNULL(MAX([REJOINING DATE]),'') ) AND (ISNULL(MAX([REJOINING DATE]),'') < GETDATE())  THEN 'ACTIVE'
                       ELSE  'N/A'
                 END AS 'Status'
 FROM @Table