我有这些现有表可以使用,无法更改它们。我已经给了一切,但无法得到解决方法。即使我解释这个问题也很复杂,所以请耐心等待。
我正在使用Oracle 10g和Yii 1.1.x,WIndows,Wamp。
已创建模型。我需要在日期范围之间获得给定SALESEXEC的PRESALES总和。
SALESEXEC
------------------------------------------
id | 1
name | salesguy1
relation
'SALES_TOTAL' => array(self::STAT, 'CURSALES', 'id', 'select'=>'SUM(AMOUNT)'),
以上工作,我可以获得每个SALESEXEC的当前总销售额 我还需要一个PRESALES_TOTAL,完全卡在那里
CURSALES
------------------------------------------
jobnumber | AJOB2014 | AJOB2014
customernumber | cus1 | cus2
amount | 1000 | 1000
saledate | 01-08-2014 | 01-09-2014
salesexec_id | 1 | 1
SALES EXEC与CURSALES有一个多关系。
PRESALES
------------------------------------------
jobnumber | AJOB2014 | AJOB2014
customernumber | cus1 | cus2
amount | 500 | 700
salesexec_id | 1 | 1
此表存储以前的所有销售额。它与客户编号和工作编号相关的CURSALES。
我需要将此PRESALES金额的总和作为SALESEXEC的财产。
如示例所示,如果我将salesdate范围作为01-08-2014和15-08-2014传递,它应该在SUM中包含PRESALES第1行但不包括第2行,因为它具有映射到第2行的cus2 CURSALES但是它的saledate超出了我给定的日期范围。
我在SALESEXEC模型中尝试过这个 ' PRESALES_TOTAL' =>数组(self :: STAT,' PRESALES',' id',' select' =>' SUM(AMOUNT)'), 但它返回所有以前的销售,但没有匹配日期范围和作业编号和客户编号
我试过'通过'关系中的子句但对STAT
无效实际上,我会传递SALESEXEC ID和日期范围的列表,它需要转到CURSALES并获取与日期范围匹配的数据,然后需要转到PRESAL并获得前一年的总数&#39 ;那些客户数量和工作数量的销售额)。 我需要在CGridView中显示SALESEXEC列表及其总销售额和以前的总销售额。
非常感谢!