我今天刚开始与BIRT合作,我不知道为什么会这样。
我正在使用BIRT主页与MySQL工作台的示例数据。 我想要做的是,在图表中显示哪个客户是最好的客户,并向我支付最多的钱。为此,我必须将客户的所有付款添加到一起。这在MySQL工作台中运行良好,但BIRT插件返回错误的结果。
我在Workbench和BIRT中有相同的SQL语句,但他们的解决方案不同。
Select * from(
select sum(CLASSICMODELS.PAYMENTS.AMOUNT) as TOTAL_AMOUNT, CLASSICMODELS.CUSTOMERS.CUSTOMERNUMBER,
CLASSICMODELS.CUSTOMERS.CUSTOMERNAME
from CLASSICMODELS.PAYMENTS, CLASSICMODELS.CUSTOMERS
where CLASSICMODELS.payments.customerNumber = CLASSICMODELS.customers.customerNumber
group by CLASSICMODELS.CUSTOMERS.CUSTOMERNUMBER, CLASSICMODELS.CUSTOMERS.CUSTOMERNAME
) as inner_table
where TOTAL_AMOUNT > 75000
在应用“sum()”函数时,似乎BIRT没有正确添加值?有人可以为此提供解释吗?也许我对我的解决方案采取了错误的方法?再次 - 我想显示一个图表,我可以看到每个客户(通过他的号码或姓名确定)以及他为所有付款支付了多少钱。
答案 0 :(得分:0)
我发现我没有连接到正确的数据源。 默认情况下,数据源连接到org.eclipse.birt.report.data.oda.sampledb.driver中的sampledb,我认为它已经是我在MySQL-Workbench中配置的那个,但它不是。
我配置了mysql.jdbc.driver并连接到我的本地数据库而不是默认数据库。现在这个工作正常,我得到了预期的结果。