繁体   English   中英

使用参数 [SQL,Pentaho Report Designer] 创建视图

[英]Creating View with parameter [SQL,Pentaho Report Designer]

我有一个 SQL 查询,它接受在 Pentaho Report Designer 中过滤报告(${p_year, ${p_month}, ${p_comp})的参数。

[在使用视图之前在 Pentaho Report Designer 中]

SELECT INSERT_DATE,EXT,DURATION_S
FROM TABLE1
WHERE CONVERT(VARCHAR(6),INSERT_DATE,112) = CONCAT(${p_year}, ${p_month}) 
AND DIRECTION = 'OUT'
AND EXT IN (
SELECT DISTINCT TABLE2.EXT
FROM TABLE2
WHERE ((COMP = ${p_comp} OR 'ALL' = ${p_comp}))
)

我正在尝试创建视图以在 SQL Server 中包含该查询。 但是,我不确定这是否正确。 [在 SQL Server 中]

CREATE VIEW CALLING AS
SELECT  INSERT_DATE,EXT,DURATION_S
FROM  TABLE1
WHERE DIRECTION = 'OUT' AND EXT IN (
SELECT DISTINCT TABLE2.EXT
FROM TABLE2
)

之后在报表设计器中,我将代码更改为

select * from CALLING

但是,我不知道如何将参数 (${p_year}, ${p_month}, ${p_comp}) 添加到新代码中。 有什么想法请指教。

您当前的视图似乎对我来说是正确的,但在VIEW使用JOIN

CREATE VIEW Calling
AS
   SELECT  
          t1.INSERT_DATE, t2.EXT, t1.DURATION_S, t2.COMP  
   FROM  table1 t1
   INNER JOIN table2 t2 ON t2.EXT = t1.EXT
   WHERE t1.DIRECTION = 'OUT'  

并且,您需要使用WHERE子句调用视图

SELECT * FROM Calling
WHERE INSERT_DATE = @parameter AND COMP = @parameter 

或者,您也可以使用可以传递多个参数的存储过程

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM