【发布时间】:2016-03-10 21:41:32
【问题描述】:
我正在使用 iReport 并希望能够接受 4 个日期输入(2 个日期范围)dateRange1 和 dateRange2。
每个都将显示指定范围内的物品数量和成本。
到目前为止,我的第一个 dateRange1 正在工作,但我无法确定实施第二个日期范围。
这是我的代码以及一些屏幕截图。
SELECT
COMPANY."NAME" AS COMPANY_NAME,
CUSTOMER."NAME" AS CUSTOMER_NAME,
SO."NUM" AS SO_NUM,
SOITEM."STATUSID" AS SOITEM_STATUSID,
PRODUCT."ID" AS PRODUCT_ID,
PART."NUM" AS PART_NUM,
SOITEM."QTYFULFILLED" AS SOITEM_QTYFULFILLED,
SO."COST" AS SO_COST,
PART."ID" AS PART_ID,
SO."DATECOMPLETED" AS SO_DATECOMPLETED,
CUSTOMER."ID" AS CUSTOMER_ID,
SOSTATUS."ID" AS SOSTATUS_ID
FROM
"CUSTOMER" CUSTOMER INNER JOIN "SO" SO ON CUSTOMER."ID" = SO."CUSTOMERID"
INNER JOIN "SOITEM" SOITEM ON SO."ID" = SOITEM."SOID"
INNER JOIN "SOSTATUS" SOSTATUS ON SO."STATUSID" = SOSTATUS."ID"
INNER JOIN "PRODUCT" PRODUCT ON SOITEM."PRODUCTID" = PRODUCT."ID"
INNER JOIN "PART" PART ON PRODUCT."ID" = PART."DEFAULTPRODUCTID"
AND PART."ID" = PRODUCT."PARTID",
"COMPANY" COMPANY
WHERE
UPPER(CUSTOMER."NAME") = $P{customerID}
AND SO."DATECOMPLETED" BETWEEN $P{From} AND $P{To}
这是设计视图的屏幕截图。
【问题讨论】:
-
嗨@Ashton,真的不明白你需要用第二个 dateRange2 AND (SO."DATECOMPLETED" BETWEEN $P{From} AND $P{To}) OR (SO."完成日期”在 $P{From2} 和 $P{To2} 之间)。或者只使用 2 个子报表,每个子报表具有不同的日期
-
@PetterFriberg 我想要的是让该人能够显示日期范围 1 中的数量和成本,并再次为数量和成本增加 2 列,但对于第二个日期范围(日期范围 2 ) 所以它比较了客户从 2010-2011 年购买的商品以及他们从 2012-2013 年购买的商品
-
@PetterFriberg 如果您对子报表和 Fishbowl 有任何了解,请查看我的新问题! stackoverflow.com/questions/36064526/…
标签: sql jasper-reports