Hola amigos,
estoy creándome unos reportes con el Reporting Server con el paquete sql 2005 y el problema me viene cuando introduzco parámetros en funciones complejas con subselects y WITH SELECT
Tengo que saber la duración que se encuentra una señal booleana que varia de 0 a 1, para ello me creo una tabla temporal y con los
select pregunto cuando cambia la señal a 0.....como se observa en la query mostrada debajo.
independientemente del funcionamiento, el problema es que si lo ejecuto en el Microsoft SQL Management Studio si
que me encuentra los valores deseados pero al pasarlo al Report Project y cambiar la variable
tagname ='SCI_Climatizadora2_Planta4.MARCHA_PARO'
por un parámetro--->
tagname =@parametro
se queda ejecutando la query mucho tiempo y no es capaz de realizarme la query para el parámetro solicitado.
With HistoryTemp (tagname,datetime,value)
as
(
SELECT tagname,datetime,value from history
where tagname ='SCI_Climatizadora2_Planta4.MARCHA_PARO' and datetime > '20130601'
)
SELECT *,DATEDIFF(ss,start,end_) as Duration FROM
(
select tagname,datetime as start
,(select top 1 datetime from HistoryTemp b where value=0 and datetime>a.datetime order by datetime asc) as end_
from HistoryTemp a
where datetime > '20130601'
and value=1
) b
Si uso sonsultas más sencillas de tipo select no tengo problemas con el parámetro pero los tiempos de ejecución del reporte son desorbitados asique necesito realizar este tipo de consulta ya que esta mucho más optimizada
Es posible que al ser una sentencia 'With select' no me permita trabajar con parámetros???
Por favor ayudenme ya que llevo más de una semana probando y no lo consigo