根据另一个参数按日期过滤

Filter by date based on another parameter

我有一份报告,其中显示了工作列表及其当前状态(开放、关闭等)。该报告有一个参数,允许用户 select 一种或多种状态。目前我的 where 子句包括 JobStatus IN (@Status)。我现在被要求为工作结束日期添加一个参数。他们仍然希望 select 一种或多种状态,但也可以选择指定关闭的工作日期范围。因此,可能需要显示特定日期范围内的所有空缺职位和已关闭职位。注意:关闭日期是 table 内的一个字段。如何修改我的 where 子句以支持此功能?

您可以根据 JobStatus 在查询中添加条件。 如果状态未关闭,它会忽略 ClosedDate。

您的 where 子句可能类似于下面的子句

WHERE JobStatus IN (@Status)
    AND (
        JobStatus <> 'Closed'
        OR (
            JobStatus = 'Closed'
            AND ClosedDate BETWEEN @FromDate
                AND @ToDate
            )
        )