使用参数创建视图 [SQL,Pentaho Report Designer]
Creating View with parameter [SQL,Pentaho Report Designer]
我有一个 SQL 接受过滤报告参数的查询
(${p_year, ${p_month}, ${p_comp}) 在 Pentaho Report Designer 中。
[在使用视图之前在 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 服务器中包含该查询。但是,我不确定这是正确的观点还是错误的。
[在 SQL 服务器中]
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
或者,您还可以使用可以传递多个参数的存储过程
我有一个 SQL 接受过滤报告参数的查询 (${p_year, ${p_month}, ${p_comp}) 在 Pentaho Report Designer 中。
[在使用视图之前在 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 服务器中包含该查询。但是,我不确定这是正确的观点还是错误的。 [在 SQL 服务器中]
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
或者,您还可以使用可以传递多个参数的存储过程