mysql - 来自不同数据源的子查询(Eclipse 报告)

标签 mysql database eclipse datasource birt

我的要求是有一个类似于以下内容的查询:

SELECT * FROM table1
WHERE oid in (
    SELECT * FROM table 2
    WHERE condition )

我的问题是 table1 和 table2 位于不同的数据库上。

我已经了解到您可以执行类似 [db1].table 的操作,但在我使用 Eclipse Birt 环境的情况下它不起作用。

最佳答案

您可以通过两种方式解决此问题:

1) 使用数据库链接之类的东西。 MySQL 的支持有限(注:我几乎没用过 MySQL)请参阅Oracle Database Link - MySQL Equivalent? 。这样,您就可以将问题转移到数据库级别。

2) 根据实际问题(阅读:“select oid FROM table2 where condition”结果的长度,您可以使用 BIRT 数据立方体或

3)使用两个数据集和一个布局结构列表,如下所示:

这两个数据集需要不同的数据源。

  • 数据集“T2_oids”,带有查询“从 table2 where 条件中选择 oid”。
  • 数据集“T1_object”,具有单个参数 param_oid 和查询“select * from table1 where oid = ?”。

布局结构: * 外部列表项“T2_oids”绑定(bind)到数据集“T2_oids” * 内部TableItem或ListItem“T1_object”绑定(bind)到DataSet“T1_object”,参数绑定(bind)到row[“oid”](或row[“OID”],使用列表框)。此项必须放置在 T2_oids 详细信息部分内。

由于 T1_object 将返回单行,因此您甚至可以使用 GridItem 而不是 TableItem 或 ListItem。

关于mysql - 来自不同数据源的子查询(Eclipse 报告),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44900192/

相关文章:

java - 如何使用eclipse和ant导出jar

java - Eclipse 作为 IDE + Mercurial 用于版本控制 + ?错误跟踪 = 好主意?

PHP 在 while 循环中从输入表单中获取值

mysql - 如何优化此 sql 查询(内连接)

sql - 无法让数据库镜像见证连接

php - UPDATE DB SET ... 用 0 或 1 填充一个特定的 VARCHAR,无论我设置的值如何

java - 包含另一个类的实体持久保存到 MySQL 中

python - MySQL Python 查询大型数据库的时间太长

mysql - 基于 2 个键更新 post_meta 值 - Wordpress

java - 使用eclipse连接mysql和java