我是 JasperReports (我正在使用5.0.0)的新手,我必须开发一个报告,其中Oracle SQL查询就像
SELECT A, B , C , (SELECT D , E FROM TABLEDATABASE2 WHERE D==A) FROM TABLEDATABASE1
子查询((SELECT D , E FROM TABLEDATABASE2 WHERE D==A)
)以前是Oracle函数,但现在它必须是一个正确的查询。
数据库实际上是相同的,但有两个不同的用户拥有自己的表。
我已尝试使用子报表执行此操作,但我不知道如何对两个不同的数据源进行嵌套查询。
非常感谢你。
答案 0 :(得分:0)
执行用户必须能够访问这两个表和相应的用户。
您可以使用GRANT语句执行此操作:http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9013.htm#SQLRF01603
关于查询:
您必须使用其用户为表名添加前缀,以便识别这些对象:
SELECT t1.A
,t1.B
,t1.C
,t2.D
,t2.E
FROM user1.TABLEDATABASE1 t1
LEFT JOIN user2.TABLEDATABASE2 t2 ON t2.D = t1.A