[英]my query works in SQL but not in SSRS
有人可以告诉我我上一个WHERE子句做错了什么吗?
我有以下在SQL中正常运行的查询:
with
t1
as
(select ID, state, T, U, R,
row_number() over (partition by ID, U order by T asc) as asc_T,
row_number() over (partition by ID, U order by T desc) as desc_T
from rawdata
where R like ‘%123%’)
select ID,
max(case when desc_T = 1 then state else null end) as state2,
max(case when asc_T = 1 then T else null end) as T_0,
max(case when desc_T = 1 then T else null end) as T_End,
U, R
from t1
group by ID, U, R
order by ID, U
当我将它们插入SSRS>数据集属性>查询时,唯一的区别是我在最后一个分组之前添加了另一行:
with
t1
as
(select ID, state, T, U, R,
row_number() over (partition by ID, U order by T asc) as asc_T,
row_number() over (partition by ID, U order by T desc) as desc_T
from rawdata
where R like ‘%123%’)
select ID,
max(case when desc_T = 1 then state else null end) as state2,
max(case when asc_T = 1 then T else null end) as T_0,
max(case when desc_T = 1 then T else null end) as T_End,
U, R
from t1
where T > @StartDate and T < @EndDate
group by ID, U, R
order by ID, U
查询类型是文本。 我已经验证了我的数据源。
我已经制作了6个与字段来源相同的字段名称:ID,U,R,T_0,T_End,State2
我的查询参数是@StartDate和@EndDate,其值分别为[@StartDate]和[@EndDate]
但是,当我运行它时,它会丢失一堆数据,并且表看起来不对。
例如,状态列似乎只接收第一个“最大情况时”,第二和第三个“最大情况时”数据未返回,而我会在其中很多地方得到空白的T_0和T_End值,其中在SQL中,它们都将返回。
我试图在没有最后一个WHERE子句的情况下在SSRS中运行查询,并且它工作得很好。
提前致谢。
确保@StartDate和@EndDate具有与SSRS变量相同的大小写。 在TSQL中,将忽略(@startdate与@StartDate相同),但在SSRS中则不会。 变量大小写必须完全匹配。
发现问题后,需要在CTE部分中移动WHERE子句。 谢谢您的帮助@MatBailie
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.