【发布时间】:2014-09-27 00:50:09
【问题描述】:
我正在尝试让 SQL 查询在 SSRS 中工作。 当我在 SSRS 中执行我的报告时,将执行此查询。这是一个简单地填充我的数据集的选择。 我想在第一次执行报告执行时获得日期,然后我希望用户能够在需要时输入不同的日期,因此需要参数。 这里是:
Select contrat from contrats ctr,
INNER JOIN structure rs ON rs.id = ctr.id
INNER JOIN structure_members rsm ON rsm.id_structure = rs.id_structure
where
(((Date(ctr.date) = CASE WHEN ? IS NULL THEN Date(Now) END) or
(Date(rs.endDate) = CASE WHEN ? IS NULL THEN Date(Now) END)
GROUP BY crt.contrat
不要介意任何语法错误,我只是简化了查询以达到重点:这可能吗? 这样结束可以办案吗?
`CASE WHEN ? IS NULL THEN Date(Now)`
那个?是我输入的日期,例如 2014-08-04。如果我愿意,该值可以为 null。这就是为什么我试图检查它是否为空,然后使用 Date(now) 来完成查询。
感谢您的帮助。
【问题讨论】:
标签: sql sql-server reporting-services case-when