【发布时间】:2016-01-14 22:31:10
【问题描述】:
我目前正在从多个表中选择产品、价值和合同期限。我想在对价值求和时按产品和装运期对结果进行分组。
我的合同期可以是基于到货的,也可以是基于发货的。因此,目前要确定要使用哪个合同期限,我正在查看其中一个期限描述是否为空,然后根据此填充期限结束和开始日期作为发货或到达。具体来说,我正在使用以下内容。
DECODE((P.SHIP_PERIOD_DESCR), NULL,
'ARRIVE' || ' ' ||P.ARRIVAL_PERIOD_BEGIN || ' - ' || P.ARRIVAL_PERIOD_END,
'SHIP' || ' ' ||P.SHIP_PERIOD_BEGIN || ' - ' || P.SHIP_PERIOD_END)
我的结果是这样的:
PRODUCT VALUE CONTRACT_PERIOD
APPLES $600 SHIP 01-FEB-16 - 15-MAR-16
APPLES $700 SHIP 01-MAR-16 - 15-APR-16
LEMONS $200 SHIP 15-JAN-16 - 31-JAN-16
LEMONS $150 SHIP 01-FEB-16 - 15-FEB-16
LEMONS $200 ARRIVE 15-FEB-16 - 28-FEB-16
LEMONS $250 ARRIVE 01-MAR-16 - 15-MAR-16
我想看到的是每个产品的最短发货或到货日期和最长发货或到货日期:
PRODUCT VALUE CONTRACT_PERIOD
APPLES $1,300 SHIP 01-FEB-16 - 15-APR-16
LEMONS $350 SHIP 15-JAN-16 - 15-FEB-16
LEMONS $450 ARRIVE 15-FEB-16 - 15-MAR-16
任何有关确定哪个合同有效的方法的建议,然后使用最小和最大日期对结果进行分组,同时不将发货日期替换为到达日期,我们将不胜感激。
【问题讨论】:
-
您应该显示更完整的查询。