表:
+-----------+--------------+------------+------------+ | RequestID | RequestStaus | StartDate | EndDate | +-----------+--------------+------------+------------+ | 1 | pending | 9/1/2015 | 10/2/2015 | | 1 | in progress | 10/2/2015 | 10/20/2015 | | 1 | completed | 10/20/2015 | 11/3/2015 | | 1 | reopened | 11/3/2015 | null | | 2 | pending | 9/5/2015 | 9/7/2015 | | 2 | in progress | 9/7/2015 | 9/25/2015 | | 2 | completed | 9/25/2015 | 10/7/2015 | | 2 | reopened | 10/10/2015 | 10/16/2015 | | 2 | completed | 10/16/2015 | null | +-----------+--------------+------------+------------+
我想计算已开放的天数,但不包括已完成和重新开放之间的天数。例如,RequestID 1,开放的日期将是(2015年11月3日 - 2015年1月9日)+(GetDate() - 2015年11月3日),对于请求2,总天数将是(10/7) / 2015 - 9/5/2015)+(2015年10月16日 - 2015年10月10日)。
我想要的结果将是:
+-----------+-------------------------------+ | RequestID | DaysOpened | +-----------+-------------------------------+ | 1 | 63 + (getdate() - 11/3/2015) | | 2 | 38 | +-----------+-------------------------------+
如何解决此问题?谢谢!