BIRT参数数据集

问题描述 投票:0回答:2

我对 BIRT 有这样的查询

SELECT a.1, a.2, a.3 FROM a WHERE a.4 = 1

然后我写另一个查询作为

SELECT b.1, c.2, c.3 FROM b join C on b.1=c.1 WHERE b.2=?

我会使用第一个查询中 a.1 列的所有值作为参数,而不是“?”。这在 BIRT 中是可能的吗?

birt
2个回答
2
投票

您可以使用 joint datasets 来做到这一点,正如 this question 的答案中所讨论的那样,但是如果两个查询都在同一个数据库上,那么将两个查询组合起来会更容易,就像这样:

SELECT b.1, c.2, c.3 
FROM a
join b on a.1 = b.2
join C on b.1 = c.1 
where a.4 = 1

或者如果你只想要 a.1 的不同值,像这样:

SELECT b.1, c.2, c.3 
FROM b 
join C on b.1 = c.1 
where exists (select null from a where a.4 = 1 and a.1 = b.2)

0
投票

根据我的理解,您可以使用一个数据集作为另一个数据集的参数。

因此,在您的情况下,您制作了第一个 sql 的数据集。然后你转到你的参数并创建一个链接到你的第一个数据集的新参数。 然后你转到你的第二个 sql 并链接你的“?”那个新参数(与第一个数据集)
你保存你的参数

您的第二个数据集参数应如下所示:

© www.soinside.com 2019 - 2024. All rights reserved.