我正在报告方面,当选择开始日期和结束日期时,报告应显示日期范围之间的数据,如果未选择日期,则报告应显示表格中的所有记录。
以下SQL在1 = 1时给出语法错误:
select a.PURCH_DOC_DATE from PURCH_SCHED_LINE_FACT a
where
(case when a.CLIENT_ID='0050' then a.PURCH_DOC_DATE
when a.CLIENT_ID='0057' then a.STATS_DELIV_DATE
else 1=1
end)
between '01-01-2014' and '12.12.2014'
答案 0 :(得分:0)
case
不能像这样工作。尝试改为
select a.PURCH_DOC_DATE from PURCH_SCHED_LINE_FACT a
where (a.CLIENT_ID='0050' and a.PURCH_DOC_DATE between '2014-01-01' and '2014-12-12')
or (a.CLIENT_ID='0057' and a.STATS_DELIV_DATE between '2014-01-01' and '2014-12-12')
or a.CLIENT_ID not in ('0050','0057')